@tauri-apps/cli 1.0.0-beta.6 → 1.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github-example/workflows/CI.yml +469 -0
- package/CHANGELOG.md +14 -281
- package/Cargo.toml +16 -0
- package/README.md +1 -1
- package/build.rs +7 -0
- package/index.d.ts +12 -0
- package/index.js +241 -0
- package/jest.config.js +14 -0
- package/package.json +45 -86
- package/src/lib.rs +10 -0
- package/tauri.js +50 -0
- package/test/jest/__tests__/template.spec.js +41 -0
- package/test/jest/fixtures/app/dist/index.html +140 -0
- package/test/jest/fixtures/app/index.js +53 -0
- package/test/jest/fixtures/app/package.json +22 -0
- package/test/jest/fixtures/app/src-tauri/Cargo.toml +34 -0
- package/test/jest/fixtures/app/src-tauri/build.rs +7 -0
- package/test/jest/fixtures/app/src-tauri/icons/128x128.png +0 -0
- package/test/jest/fixtures/app/src-tauri/icons/128x128@2x.png +0 -0
- package/test/jest/fixtures/app/src-tauri/icons/32x32.png +0 -0
- package/test/jest/fixtures/app/src-tauri/icons/icon.icns +0 -0
- package/test/jest/fixtures/app/src-tauri/icons/icon.ico +0 -0
- package/test/jest/fixtures/app/src-tauri/icons/icon.png +0 -0
- package/test/jest/fixtures/app/src-tauri/src/main.rs +20 -0
- package/test/jest/fixtures/app/src-tauri/tauri.conf.json +28 -0
- package/test/jest/fixtures/app-test-setup.js +86 -0
- package/test/jest/fixtures/empty/dist/index.html +6 -0
- package/test/jest/fixtures/empty/package.json +1 -0
- package/test/jest/helpers/logger.js +25 -0
- package/test/jest/helpers/spawn.js +73 -0
- package/test/jest/jest.setup.js +6 -0
- package/LICENSE_APACHE-2.0 +0 -177
- package/LICENSE_MIT +0 -21
- package/bin/tauri-deps.js +0 -26
- package/bin/tauri-icon.js +0 -61
- package/bin/tauri.js +0 -102
- package/dist/api/cli.js +0 -2
- package/dist/api/cli.js.map +0 -1
- package/dist/api/dependency-manager.js +0 -2
- package/dist/api/dependency-manager.js.map +0 -1
- package/dist/api/tauricon.js +0 -3
- package/dist/api/tauricon.js.LICENSE.txt +0 -11
- package/dist/api/tauricon.js.map +0 -1
- package/dist/helpers/download-binary.js +0 -2
- package/dist/helpers/download-binary.js.map +0 -1
- package/dist/helpers/rust-cli.js +0 -2
- package/dist/helpers/rust-cli.js.map +0 -1
- package/dist/helpers/spawn.js +0 -2
- package/dist/helpers/spawn.js.map +0 -1
package/dist/api/tauricon.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://tauri/webpack/universalModuleDefinition","webpack://tauri/external \"util\"","webpack://tauri/external \"graceful-fs\"","webpack://tauri/external \"globby\"","webpack://tauri/./node_modules/p-pipe/index.js","webpack://tauri/external \"replace-ext\"","webpack://tauri/external \"junk\"","webpack://tauri/./node_modules/imagemin/index.js","webpack://tauri/./node_modules/imagemin/node_modules/file-type/core.js","webpack://tauri/./node_modules/imagemin/node_modules/file-type/index.js","webpack://tauri/./node_modules/imagemin/node_modules/file-type/supported.js","webpack://tauri/./node_modules/imagemin/node_modules/file-type/util.js","webpack://tauri/./node_modules/is-png/index.js","webpack://tauri/./src/api/tauricon.ts","webpack://tauri/./src/helpers/app-paths.ts","webpack://tauri/./src/helpers/logger.ts","webpack://tauri/./src/helpers/tauricon.config.ts","webpack://tauri/external \"chalk\"","webpack://tauri/external \"fs\"","webpack://tauri/external \"fs-extra\"","webpack://tauri/external \"imagemin-optipng\"","webpack://tauri/external \"imagemin-zopfli\"","webpack://tauri/external \"ms\"","webpack://tauri/external \"path\"","webpack://tauri/external \"png2icons\"","webpack://tauri/external \"read-chunk\"","webpack://tauri/external \"sharp\"","webpack://tauri/external \"strtok3\"","webpack://tauri/external \"strtok3/lib/core\"","webpack://tauri/external \"token-types\"","webpack://tauri/webpack/bootstrap","webpack://tauri/webpack/runtime/define property getters","webpack://tauri/webpack/runtime/hasOwnProperty shorthand","webpack://tauri/webpack/runtime/make namespace object","webpack://tauri/webpack/startup"],"names":["root","factory","exports","module","define","amd","this","require","pPipe","functions","length","Error","async","currentValue","input","function_","readFile","promisify","writeFile","imagemin","glob","options","Array","isArray","TypeError","filePaths","onlyFiles","Promise","all","filter","filePath","map","sourcePath","destination","plugins","data","ext","destinationPath","undefined","returnValue","recursive","handleFile","error","message","stack","buffer","Buffer","isBuffer","Token","strtok3","supported","minimumBytes","fromStream","stream","tokenizer","fromTokenizer","close","fromBuffer","Uint8Array","ArrayBuffer","from","_check","headers","offset","index","header","entries","mask","_checkSequence","sequence","ignoreBytes","alloc","ignore","peekBuffer","mayBeLess","includes","_fromTokenizer","EndOfStreamError","check","checkString","stringToBytes","fileInfo","size","Number","MAX_SAFE_INTEGER","mime","id3HeaderLen","readToken","uint32SyncSafeToken","position","readBuffer","zipHeader","compressedSize","readUInt32LE","uncompressedSize","filenameLength","readUInt16LE","extraFieldLength","filename","StringType","endsWith","split","startsWith","nextHeaderIndex","indexOf","type","brandMajor","toString","replace","trim","readField","msb","peekNumber","UINT8","ic","id","readElement","lenField","nrLen","Math","min","readUIntBE","len","re","level","children","e","readChildren","readChunkHeader","INT32_BE","chunk","readHeader","guid","UINT64_LE","payload","typeId","jsonSize","slice","JSON","parse","files","_","tarHeaderChecksumMatches","start","readableStream","resolve","reject","eval","on","once","pass","PassThrough","outputStream","pipeline","pipe","read","fileType","Object","defineProperty","get","Set","extensions","mimeTypes","core","fromFile","path","assign","string","character","charCodeAt","readSum","parseInt","isNaN","sum","signedBitSum","i","byte","isPng","__createBinding","create","o","m","k","k2","enumerable","__setModuleDefault","v","value","__importStar","mod","__esModule","result","prototype","hasOwnProperty","call","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","next","rejected","done","then","apply","__generator","body","f","y","t","g","label","sent","trys","ops","verb","Symbol","iterator","n","op","pop","push","__importDefault","fs_extra_1","imagemin_1","imagemin_optipng_1","imagemin_zopfli_1","is_png_1","path_1","png2icons","read_chunk_1","sharp_1","app_paths_1","logger_1","settings","chalk_1","package_json_1","log","default","warn","red","image","spinnerInterval","exists","file","_a","access","checkSrc","src","meta","clearInterval","process","exit","metadata","hasAlpha","channels","stats","isOpaque","uniqueFolders","folders","option","String","folder","sort","x","a","hexToRgb","hex","r","b","exec","validate","target","ensureDir","progress","msg","stdout","write","tauricon","version","make","strategy","tauriDir","appDir","env","argv","some","arg","setInterval","setTimeout","tauri","icns","build","minify","sharpSrc","buildify2","output","_b","_i","optionKey","_c","_d","_e","sizeKey","dest","pvar","_f","pngImage","rgb","err_2","resize","background_color","flatten","background","alpha","png","toFile","sep","sizes","splash","infix","prefix","suffix","splashSrc","block","splashscreen_type","extend","top","bottom","left","right","composite","toBuffer","mode","cmd","minifier","_this","available","find","optipngOptions","zopfliOptions","catch","err","dirname","buf","out","out2","err_3","createICNS","BICUBIC","ensureFileSync","join","writeFileSync","createICO","console","fs_1","resolvePath","basePath","dir","isAbsolute","cwd","count","existsSync","normalize","getAppDir","resolveDir","app","prevTime","ms_1","banner","color","green","curr","Date","diff","theme_color","sharp","batch","overwrite","optimizationLevel","paletteReduction","transparent","more","splash_type","linux","linux_2x","defaults","appx_logo","appx_square","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","key","obj","prop","toStringTag","__webpack_exports__"],"mappings":"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c,eAAeW,KAAKxG,eAAiB6F,eAAeW,QAAU7G,OAAOyB,MAAM,GACzF,IACC,MAAMqF,QAAiBnG,WAAWyE,GAClCoB,EAAKM,SAAWA,EACf,MAAOlH,GACRwG,OAAOxG,GAGRuG,QAAQO,SAIJI,SAAW,CAChBxG,WACAG,cACAE,WACAJ,QAGDwG,OAAOC,eAAeF,SAAU,aAAc,CAC7CG,IAAG,IACK,IAAIC,IAAI9G,UAAU+G,cAI3BJ,OAAOC,eAAeF,SAAU,YAAa,CAC5CG,IAAG,IACK,IAAIC,IAAI9G,UAAUgH,aAI3B/J,OAAOD,QAAU0J,U,cCn4CjB,MAAM3G,EAAU,EAAQ,KAClBkH,EAAO,EAAQ,KAWfP,EAAW,CAChBQ,SAVDxJ,eAAwByJ,GACvB,MAAM/G,QAAkBL,EAAQmH,SAASC,GACzC,IACC,aAAaF,EAAK5G,cAAcD,GAC/B,cACKA,EAAUE,WAQlBqG,OAAOS,OAAOV,EAAUO,GAExBN,OAAOC,eAAeF,EAAU,aAAc,CAC7CG,IAAG,IACKI,EAAKF,aAIdJ,OAAOC,eAAeF,EAAU,YAAa,CAC5CG,IAAG,IACKI,EAAKD,YAId/J,EAAOD,QAAU0J,G,QC7BjBzJ,EAAOD,QAAU,CAChB+J,WAAY,CACX,MACA,MACA,OACA,MACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,OACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,OACA,OACA,QACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,SACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,IACA,KACA,MACA,MACA,MACA,QACA,MACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,QACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QACA,MACA,MACA,MACA,KACA,MACA,KACA,KACA,MACA,OACA,MACA,MACA,MACA,QAEDC,UAAW,CACV,aACA,YACA,YACA,aACA,aACA,oBACA,oBACA,aACA,YACA,qBACA,4BACA,yBACA,uBACA,0BACA,0CACA,iDACA,kDACA,0EACA,4EACA,oEACA,kBACA,oBACA,+BACA,mBACA,sBACA,8BACA,gCACA,6BACA,YACA,aACA,mBACA,aACA,kBACA,gBACA,iBACA,cACA,iBACA,iBACA,yBACA,aACA,aACA,aACA,YACA,aACA,YACA,YACA,kBACA,eACA,YACA,gBACA,YACA,kBACA,2BACA,gCACA,kBACA,mBACA,YACA,aACA,gCACA,WACA,WACA,eACA,cACA,yBACA,kBACA,mBACA,wBACA,iCACA,wCACA,oCACA,oBACA,6BACA,oBACA,yBACA,qBACA,oBACA,oBACA,kBACA,aACA,wBACA,YACA,YACA,YACA,YACA,YACA,aACA,kBACA,iCACA,aACA,sBACA,aACA,sBACA,aACA,YACA,oBACA,mBACA,gBACA,oBACA,+BACA,cACA,4BACA,4BACA,cACA,yBACA,cACA,aACA,sBACA,mBACA,oBACA,oBACA,wBACA,uBACA,cACA,cACA,2BACA,YACA,aACA,cACA,aACA,aACA,aACA,+BACA,aACA,+BACA,4BACA,wB,YCtQFhK,EAAQ8E,cAAgBuF,GAAU,IAAIA,GAAQxI,KAAIyI,GAAaA,EAAUC,WAAW,KAEpFvK,EAAQ4I,yBAA2BjG,IAClC,GAAIA,EAAOnC,OAAS,IACnB,OAAO,EAGR,MAAMgK,EAAUC,SAAS9H,EAAO8D,SAAS,OAAQ,IAAK,KAAKC,QAAQ,QAAS,IAAIC,OAAQ,GACxF,GAAI+D,MAAMF,GACT,OAAO,EAKR,IAAIG,EAAM,IACNC,EAAe,EAEnB,IAAK,IAAIC,EAAI,EAAGA,EAAI,IAAKA,IAAK,CAC7B,MAAMC,EAAOnI,EAAOkI,GACpBF,GAAOG,EACPF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","file":"api/tauricon.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"tauri\"] = factory();\n\telse\n\t\troot[\"tauri\"] = factory();\n})(this, function() {\nreturn ","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"util\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"graceful-fs\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"globby\");","export default function pPipe(...functions) {\n\tif (functions.length === 0) {\n\t\tthrow new Error('Expected at least one argument');\n\t}\n\n\treturn async input => {\n\t\tlet currentValue = input;\n\n\t\tfor (const function_ of functions) {\n\t\t\tcurrentValue = await function_(currentValue); // eslint-disable-line no-await-in-loop\n\t\t}\n\n\t\treturn currentValue;\n\t};\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"replace-ext\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"junk\");","import {promisify} from 'util';\nimport path from 'path';\nimport fs from 'graceful-fs';\nimport {promises as fsPromises} from 'fs';\nimport FileType from 'file-type';\nimport globby from 'globby';\nimport pPipe from 'p-pipe';\nimport replaceExt from 'replace-ext';\nimport junk from 'junk';\n\nconst readFile = promisify(fs.readFile);\nconst writeFile = promisify(fs.writeFile);\n\nconst handleFile = async (sourcePath, {destination, plugins = []}) => {\n\tif (plugins && !Array.isArray(plugins)) {\n\t\tthrow new TypeError('The `plugins` option should be an `Array`');\n\t}\n\n\tlet data = await readFile(sourcePath);\n\tdata = await (plugins.length > 0 ? pPipe(...plugins)(data) : data);\n\n\tconst {ext} = await FileType.fromBuffer(data);\n\tlet destinationPath = destination ? path.join(destination, path.basename(sourcePath)) : undefined;\n\tdestinationPath = ext === 'webp' ? replaceExt(destinationPath, '.webp') : destinationPath;\n\n\tconst returnValue = {\n\t\tdata,\n\t\tsourcePath,\n\t\tdestinationPath\n\t};\n\n\tif (!destinationPath) {\n\t\treturn returnValue;\n\t}\n\n\tawait fsPromises.mkdir(path.dirname(returnValue.destinationPath), {recursive: true});\n\tawait writeFile(returnValue.destinationPath, returnValue.data);\n\n\treturn returnValue;\n};\n\nexport default async function imagemin(input, {glob = true, ...options} = {}) {\n\tif (!Array.isArray(input)) {\n\t\tthrow new TypeError(`Expected an \\`Array\\`, got \\`${typeof input}\\``);\n\t}\n\n\tconst filePaths = glob ? await globby(input, {onlyFiles: true}) : input;\n\n\treturn Promise.all(\n\t\tfilePaths\n\t\t\t.filter(filePath => junk.not(path.basename(filePath)))\n\t\t\t.map(async filePath => {\n\t\t\t\ttry {\n\t\t\t\t\treturn await handleFile(filePath, options);\n\t\t\t\t} catch (error) {\n\t\t\t\t\terror.message = `Error occurred when handling file: ${input}\\n\\n${error.stack}`;\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t})\n\t);\n}\n\nimagemin.buffer = async (input, {plugins = []} = {}) => {\n\tif (!Buffer.isBuffer(input)) {\n\t\tthrow new TypeError(`Expected a \\`Buffer\\`, got \\`${typeof input}\\``);\n\t}\n\n\tif (plugins.length === 0) {\n\t\treturn input;\n\t}\n\n\treturn pPipe(...plugins)(input);\n};\n","'use strict';\nconst Token = require('token-types');\nconst strtok3 = require('strtok3/lib/core');\nconst {\n\tstringToBytes,\n\ttarHeaderChecksumMatches,\n\tuint32SyncSafeToken\n} = require('./util');\nconst supported = require('./supported');\n\nconst minimumBytes = 4100; // A fair amount of file-types are detectable within this range\n\nasync function fromStream(stream) {\n\tconst tokenizer = await strtok3.fromStream(stream);\n\ttry {\n\t\treturn await fromTokenizer(tokenizer);\n\t} finally {\n\t\tawait tokenizer.close();\n\t}\n}\n\nasync function fromBuffer(input) {\n\tif (!(input instanceof Uint8Array || input instanceof ArrayBuffer || Buffer.isBuffer(input))) {\n\t\tthrow new TypeError(`Expected the \\`input\\` argument to be of type \\`Uint8Array\\` or \\`Buffer\\` or \\`ArrayBuffer\\`, got \\`${typeof input}\\``);\n\t}\n\n\tconst buffer = input instanceof Buffer ? input : Buffer.from(input);\n\n\tif (!(buffer && buffer.length > 1)) {\n\t\treturn;\n\t}\n\n\tconst tokenizer = strtok3.fromBuffer(buffer);\n\treturn fromTokenizer(tokenizer);\n}\n\nfunction _check(buffer, headers, options) {\n\toptions = {\n\t\toffset: 0,\n\t\t...options\n\t};\n\n\tfor (const [index, header] of headers.entries()) {\n\t\t// If a bitmask is set\n\t\tif (options.mask) {\n\t\t\t// If header doesn't equal `buf` with bits masked off\n\t\t\tif (header !== (options.mask[index] & buffer[index + options.offset])) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else if (header !== buffer[index + options.offset]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nasync function _checkSequence(sequence, tokenizer, ignoreBytes) {\n\tconst buffer = Buffer.alloc(minimumBytes);\n\tawait tokenizer.ignore(ignoreBytes);\n\n\tawait tokenizer.peekBuffer(buffer, {mayBeLess: true});\n\n\treturn buffer.includes(Buffer.from(sequence));\n}\n\nasync function fromTokenizer(tokenizer) {\n\ttry {\n\t\treturn _fromTokenizer(tokenizer);\n\t} catch (error) {\n\t\tif (!(error instanceof strtok3.EndOfStreamError)) {\n\t\t\tthrow error;\n\t\t}\n\t}\n}\n\nasync function _fromTokenizer(tokenizer) {\n\tlet buffer = Buffer.alloc(minimumBytes);\n\tconst bytesRead = 12;\n\tconst check = (header, options) => _check(buffer, header, options);\n\tconst checkString = (header, options) => check(stringToBytes(header), options);\n\tconst checkSequence = (sequence, ignoreBytes) => _checkSequence(sequence, tokenizer, ignoreBytes);\n\n\t// Keep reading until EOF if the file size is unknown.\n\tif (!tokenizer.fileInfo.size) {\n\t\ttokenizer.fileInfo.size = Number.MAX_SAFE_INTEGER;\n\t}\n\n\tawait tokenizer.peekBuffer(buffer, {length: bytesRead, mayBeLess: true});\n\n\t// -- 2-byte signatures --\n\n\tif (check([0x42, 0x4D])) {\n\t\treturn {\n\t\t\text: 'bmp',\n\t\t\tmime: 'image/bmp'\n\t\t};\n\t}\n\n\tif (check([0x0B, 0x77])) {\n\t\treturn {\n\t\t\text: 'ac3',\n\t\t\tmime: 'audio/vnd.dolby.dd-raw'\n\t\t};\n\t}\n\n\tif (check([0x78, 0x01])) {\n\t\treturn {\n\t\t\text: 'dmg',\n\t\t\tmime: 'application/x-apple-diskimage'\n\t\t};\n\t}\n\n\tif (check([0x4D, 0x5A])) {\n\t\treturn {\n\t\t\text: 'exe',\n\t\t\tmime: 'application/x-msdownload'\n\t\t};\n\t}\n\n\tif (check([0x25, 0x21])) {\n\t\tawait tokenizer.peekBuffer(buffer, {length: 24, mayBeLess: true});\n\n\t\tif (checkString('PS-Adobe-', {offset: 2}) &&\n\t\t\tcheckString(' EPSF-', {offset: 14})) {\n\t\t\treturn {\n\t\t\t\text: 'eps',\n\t\t\t\tmime: 'application/eps'\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\text: 'ps',\n\t\t\tmime: 'application/postscript'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x1F, 0xA0]) ||\n\t\tcheck([0x1F, 0x9D])\n\t) {\n\t\treturn {\n\t\t\text: 'Z',\n\t\t\tmime: 'application/x-compress'\n\t\t};\n\t}\n\n\t// -- 3-byte signatures --\n\n\tif (check([0xFF, 0xD8, 0xFF])) {\n\t\treturn {\n\t\t\text: 'jpg',\n\t\t\tmime: 'image/jpeg'\n\t\t};\n\t}\n\n\tif (check([0x49, 0x49, 0xBC])) {\n\t\treturn {\n\t\t\text: 'jxr',\n\t\t\tmime: 'image/vnd.ms-photo'\n\t\t};\n\t}\n\n\tif (check([0x1F, 0x8B, 0x8])) {\n\t\treturn {\n\t\t\text: 'gz',\n\t\t\tmime: 'application/gzip'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x5A, 0x68])) {\n\t\treturn {\n\t\t\text: 'bz2',\n\t\t\tmime: 'application/x-bzip2'\n\t\t};\n\t}\n\n\tif (checkString('ID3')) {\n\t\tawait tokenizer.ignore(6); // Skip ID3 header until the header size\n\t\tconst id3HeaderLen = await tokenizer.readToken(uint32SyncSafeToken);\n\t\tif (tokenizer.position + id3HeaderLen > tokenizer.fileInfo.size) {\n\t\t\t// Guess file type based on ID3 header for backward compatibility\n\t\t\treturn {\n\t\t\t\text: 'mp3',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\n\t\tawait tokenizer.ignore(id3HeaderLen);\n\t\treturn fromTokenizer(tokenizer); // Skip ID3 header, recursion\n\t}\n\n\t// Musepack, SV7\n\tif (checkString('MP+')) {\n\t\treturn {\n\t\t\text: 'mpc',\n\t\t\tmime: 'audio/x-musepack'\n\t\t};\n\t}\n\n\tif (\n\t\t(buffer[0] === 0x43 || buffer[0] === 0x46) &&\n\t\tcheck([0x57, 0x53], {offset: 1})\n\t) {\n\t\treturn {\n\t\t\text: 'swf',\n\t\t\tmime: 'application/x-shockwave-flash'\n\t\t};\n\t}\n\n\t// -- 4-byte signatures --\n\n\tif (check([0x47, 0x49, 0x46])) {\n\t\treturn {\n\t\t\text: 'gif',\n\t\t\tmime: 'image/gif'\n\t\t};\n\t}\n\n\tif (checkString('FLIF')) {\n\t\treturn {\n\t\t\text: 'flif',\n\t\t\tmime: 'image/flif'\n\t\t};\n\t}\n\n\tif (checkString('8BPS')) {\n\t\treturn {\n\t\t\text: 'psd',\n\t\t\tmime: 'image/vnd.adobe.photoshop'\n\t\t};\n\t}\n\n\tif (checkString('WEBP', {offset: 8})) {\n\t\treturn {\n\t\t\text: 'webp',\n\t\t\tmime: 'image/webp'\n\t\t};\n\t}\n\n\t// Musepack, SV8\n\tif (checkString('MPCK')) {\n\t\treturn {\n\t\t\text: 'mpc',\n\t\t\tmime: 'audio/x-musepack'\n\t\t};\n\t}\n\n\tif (checkString('FORM')) {\n\t\treturn {\n\t\t\text: 'aif',\n\t\t\tmime: 'audio/aiff'\n\t\t};\n\t}\n\n\tif (checkString('icns', {offset: 0})) {\n\t\treturn {\n\t\t\text: 'icns',\n\t\t\tmime: 'image/icns'\n\t\t};\n\t}\n\n\t// Zip-based file formats\n\t// Need to be before the `zip` check\n\tif (check([0x50, 0x4B, 0x3, 0x4])) { // Local file header signature\n\t\ttry {\n\t\t\twhile (tokenizer.position + 30 < tokenizer.fileInfo.size) {\n\t\t\t\tawait tokenizer.readBuffer(buffer, {length: 30});\n\n\t\t\t\t// https://en.wikipedia.org/wiki/Zip_(file_format)#File_headers\n\t\t\t\tconst zipHeader = {\n\t\t\t\t\tcompressedSize: buffer.readUInt32LE(18),\n\t\t\t\t\tuncompressedSize: buffer.readUInt32LE(22),\n\t\t\t\t\tfilenameLength: buffer.readUInt16LE(26),\n\t\t\t\t\textraFieldLength: buffer.readUInt16LE(28)\n\t\t\t\t};\n\n\t\t\t\tzipHeader.filename = await tokenizer.readToken(new Token.StringType(zipHeader.filenameLength, 'utf-8'));\n\t\t\t\tawait tokenizer.ignore(zipHeader.extraFieldLength);\n\n\t\t\t\t// Assumes signed `.xpi` from addons.mozilla.org\n\t\t\t\tif (zipHeader.filename === 'META-INF/mozilla.rsa') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'xpi',\n\t\t\t\t\t\tmime: 'application/x-xpinstall'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (zipHeader.filename.endsWith('.rels') || zipHeader.filename.endsWith('.xml')) {\n\t\t\t\t\tconst type = zipHeader.filename.split('/')[0];\n\t\t\t\t\tswitch (type) {\n\t\t\t\t\t\tcase '_rels':\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'word':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\text: 'docx',\n\t\t\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tcase 'ppt':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\text: 'pptx',\n\t\t\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tcase 'xl':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\text: 'xlsx',\n\t\t\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (zipHeader.filename.startsWith('xl/')) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'xlsx',\n\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// The docx, xlsx and pptx file types extend the Office Open XML file format:\n\t\t\t\t// https://en.wikipedia.org/wiki/Office_Open_XML_file_formats\n\t\t\t\t// We look for:\n\t\t\t\t// - one entry named '[Content_Types].xml' or '_rels/.rels',\n\t\t\t\t// - one entry indicating specific type of file.\n\t\t\t\t// MS Office, OpenOffice and LibreOffice may put the parts in different order, so the check should not rely on it.\n\t\t\t\tif (zipHeader.filename === 'mimetype' && zipHeader.compressedSize === zipHeader.uncompressedSize) {\n\t\t\t\t\tconst mimeType = await tokenizer.readToken(new Token.StringType(zipHeader.compressedSize, 'utf-8'));\n\n\t\t\t\t\tswitch (mimeType) {\n\t\t\t\t\t\tcase 'application/epub+zip':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\text: 'epub',\n\t\t\t\t\t\t\t\tmime: 'application/epub+zip'\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tcase 'application/vnd.oasis.opendocument.text':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\text: 'odt',\n\t\t\t\t\t\t\t\tmime: 'application/vnd.oasis.opendocument.text'\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tcase 'application/vnd.oasis.opendocument.spreadsheet':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\text: 'ods',\n\t\t\t\t\t\t\t\tmime: 'application/vnd.oasis.opendocument.spreadsheet'\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tcase 'application/vnd.oasis.opendocument.presentation':\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\text: 'odp',\n\t\t\t\t\t\t\t\tmime: 'application/vnd.oasis.opendocument.presentation'\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Try to find next header manually when current one is corrupted\n\t\t\t\tif (zipHeader.compressedSize === 0) {\n\t\t\t\t\tlet nextHeaderIndex = -1;\n\n\t\t\t\t\twhile (nextHeaderIndex < 0 && (tokenizer.position < tokenizer.fileInfo.size)) {\n\t\t\t\t\t\tawait tokenizer.peekBuffer(buffer, {mayBeLess: true});\n\n\t\t\t\t\t\tnextHeaderIndex = buffer.indexOf('504B0304', 0, 'hex');\n\t\t\t\t\t\t// Move position to the next header if found, skip the whole buffer otherwise\n\t\t\t\t\t\tawait tokenizer.ignore(nextHeaderIndex >= 0 ? nextHeaderIndex : buffer.length);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tawait tokenizer.ignore(zipHeader.compressedSize);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (!(error instanceof strtok3.EndOfStreamError)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\text: 'zip',\n\t\t\tmime: 'application/zip'\n\t\t};\n\t}\n\n\tif (checkString('OggS')) {\n\t\t// This is an OGG container\n\t\tawait tokenizer.ignore(28);\n\t\tconst type = Buffer.alloc(8);\n\t\tawait tokenizer.readBuffer(type);\n\n\t\t// Needs to be before `ogg` check\n\t\tif (_check(type, [0x4F, 0x70, 0x75, 0x73, 0x48, 0x65, 0x61, 0x64])) {\n\t\t\treturn {\n\t\t\t\text: 'opus',\n\t\t\t\tmime: 'audio/opus'\n\t\t\t};\n\t\t}\n\n\t\t// If ' theora' in header.\n\t\tif (_check(type, [0x80, 0x74, 0x68, 0x65, 0x6F, 0x72, 0x61])) {\n\t\t\treturn {\n\t\t\t\text: 'ogv',\n\t\t\t\tmime: 'video/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// If '\\x01video' in header.\n\t\tif (_check(type, [0x01, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x00])) {\n\t\t\treturn {\n\t\t\t\text: 'ogm',\n\t\t\t\tmime: 'video/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// If ' FLAC' in header https://xiph.org/flac/faq.html\n\t\tif (_check(type, [0x7F, 0x46, 0x4C, 0x41, 0x43])) {\n\t\t\treturn {\n\t\t\t\text: 'oga',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// 'Speex ' in header https://en.wikipedia.org/wiki/Speex\n\t\tif (_check(type, [0x53, 0x70, 0x65, 0x65, 0x78, 0x20, 0x20])) {\n\t\t\treturn {\n\t\t\t\text: 'spx',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// If '\\x01vorbis' in header\n\t\tif (_check(type, [0x01, 0x76, 0x6F, 0x72, 0x62, 0x69, 0x73])) {\n\t\t\treturn {\n\t\t\t\text: 'ogg',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// Default OGG container https://www.iana.org/assignments/media-types/application/ogg\n\t\treturn {\n\t\t\text: 'ogx',\n\t\t\tmime: 'application/ogg'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x50, 0x4B]) &&\n\t\t(buffer[2] === 0x3 || buffer[2] === 0x5 || buffer[2] === 0x7) &&\n\t\t(buffer[3] === 0x4 || buffer[3] === 0x6 || buffer[3] === 0x8)\n\t) {\n\t\treturn {\n\t\t\text: 'zip',\n\t\t\tmime: 'application/zip'\n\t\t};\n\t}\n\n\t//\n\n\t// File Type Box (https://en.wikipedia.org/wiki/ISO_base_media_file_format)\n\t// It's not required to be first, but it's recommended to be. Almost all ISO base media files start with `ftyp` box.\n\t// `ftyp` box must contain a brand major identifier, which must consist of ISO 8859-1 printable characters.\n\t// Here we check for 8859-1 printable characters (for simplicity, it's a mask which also catches one non-printable character).\n\tif (\n\t\tcheckString('ftyp', {offset: 4}) &&\n\t\t(buffer[8] & 0x60) !== 0x00 // Brand major, first character ASCII?\n\t) {\n\t\t// They all can have MIME `video/mp4` except `application/mp4` special-case which is hard to detect.\n\t\t// For some cases, we're specific, everything else falls to `video/mp4` with `mp4` extension.\n\t\tconst brandMajor = buffer.toString('binary', 8, 12).replace('\\0', ' ').trim();\n\t\tswitch (brandMajor) {\n\t\t\tcase 'avif':\n\t\t\t\treturn {ext: 'avif', mime: 'image/avif'};\n\t\t\tcase 'mif1':\n\t\t\t\treturn {ext: 'heic', mime: 'image/heif'};\n\t\t\tcase 'msf1':\n\t\t\t\treturn {ext: 'heic', mime: 'image/heif-sequence'};\n\t\t\tcase 'heic':\n\t\t\tcase 'heix':\n\t\t\t\treturn {ext: 'heic', mime: 'image/heic'};\n\t\t\tcase 'hevc':\n\t\t\tcase 'hevx':\n\t\t\t\treturn {ext: 'heic', mime: 'image/heic-sequence'};\n\t\t\tcase 'qt':\n\t\t\t\treturn {ext: 'mov', mime: 'video/quicktime'};\n\t\t\tcase 'M4V':\n\t\t\tcase 'M4VH':\n\t\t\tcase 'M4VP':\n\t\t\t\treturn {ext: 'm4v', mime: 'video/x-m4v'};\n\t\t\tcase 'M4P':\n\t\t\t\treturn {ext: 'm4p', mime: 'video/mp4'};\n\t\t\tcase 'M4B':\n\t\t\t\treturn {ext: 'm4b', mime: 'audio/mp4'};\n\t\t\tcase 'M4A':\n\t\t\t\treturn {ext: 'm4a', mime: 'audio/x-m4a'};\n\t\t\tcase 'F4V':\n\t\t\t\treturn {ext: 'f4v', mime: 'video/mp4'};\n\t\t\tcase 'F4P':\n\t\t\t\treturn {ext: 'f4p', mime: 'video/mp4'};\n\t\t\tcase 'F4A':\n\t\t\t\treturn {ext: 'f4a', mime: 'audio/mp4'};\n\t\t\tcase 'F4B':\n\t\t\t\treturn {ext: 'f4b', mime: 'audio/mp4'};\n\t\t\tcase 'crx':\n\t\t\t\treturn {ext: 'cr3', mime: 'image/x-canon-cr3'};\n\t\t\tdefault:\n\t\t\t\tif (brandMajor.startsWith('3g')) {\n\t\t\t\t\tif (brandMajor.startsWith('3g2')) {\n\t\t\t\t\t\treturn {ext: '3g2', mime: 'video/3gpp2'};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {ext: '3gp', mime: 'video/3gpp'};\n\t\t\t\t}\n\n\t\t\t\treturn {ext: 'mp4', mime: 'video/mp4'};\n\t\t}\n\t}\n\n\tif (checkString('MThd')) {\n\t\treturn {\n\t\t\text: 'mid',\n\t\t\tmime: 'audio/midi'\n\t\t};\n\t}\n\n\tif (\n\t\tcheckString('wOFF') &&\n\t\t(\n\t\t\tcheck([0x00, 0x01, 0x00, 0x00], {offset: 4}) ||\n\t\t\tcheckString('OTTO', {offset: 4})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'woff',\n\t\t\tmime: 'font/woff'\n\t\t};\n\t}\n\n\tif (\n\t\tcheckString('wOF2') &&\n\t\t(\n\t\t\tcheck([0x00, 0x01, 0x00, 0x00], {offset: 4}) ||\n\t\t\tcheckString('OTTO', {offset: 4})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'woff2',\n\t\t\tmime: 'font/woff2'\n\t\t};\n\t}\n\n\tif (check([0xD4, 0xC3, 0xB2, 0xA1]) || check([0xA1, 0xB2, 0xC3, 0xD4])) {\n\t\treturn {\n\t\t\text: 'pcap',\n\t\t\tmime: 'application/vnd.tcpdump.pcap'\n\t\t};\n\t}\n\n\t// Sony DSD Stream File (DSF)\n\tif (checkString('DSD ')) {\n\t\treturn {\n\t\t\text: 'dsf',\n\t\t\tmime: 'audio/x-dsf' // Non-standard\n\t\t};\n\t}\n\n\tif (checkString('LZIP')) {\n\t\treturn {\n\t\t\text: 'lz',\n\t\t\tmime: 'application/x-lzip'\n\t\t};\n\t}\n\n\tif (checkString('fLaC')) {\n\t\treturn {\n\t\t\text: 'flac',\n\t\t\tmime: 'audio/x-flac'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x50, 0x47, 0xFB])) {\n\t\treturn {\n\t\t\text: 'bpg',\n\t\t\tmime: 'image/bpg'\n\t\t};\n\t}\n\n\tif (checkString('wvpk')) {\n\t\treturn {\n\t\t\text: 'wv',\n\t\t\tmime: 'audio/wavpack'\n\t\t};\n\t}\n\n\tif (checkString('%PDF')) {\n\t\t// Check if this is an Adobe Illustrator file\n\t\tconst isAiFile = await checkSequence('Adobe Illustrator', 1350);\n\t\tif (isAiFile) {\n\t\t\treturn {\n\t\t\t\text: 'ai',\n\t\t\t\tmime: 'application/postscript'\n\t\t\t};\n\t\t}\n\n\t\t// Assume this is just a normal PDF\n\t\treturn {\n\t\t\text: 'pdf',\n\t\t\tmime: 'application/pdf'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x61, 0x73, 0x6D])) {\n\t\treturn {\n\t\t\text: 'wasm',\n\t\t\tmime: 'application/wasm'\n\t\t};\n\t}\n\n\t// TIFF, little-endian type\n\tif (check([0x49, 0x49, 0x2A, 0x0])) {\n\t\tif (checkString('CR', {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'cr2',\n\t\t\t\tmime: 'image/x-canon-cr2'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x1C, 0x00, 0xFE, 0x00], {offset: 8}) || check([0x1F, 0x00, 0x0B, 0x00], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'nef',\n\t\t\t\tmime: 'image/x-nikon-nef'\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tcheck([0x08, 0x00, 0x00, 0x00], {offset: 4}) &&\n\t\t\t(check([0x2D, 0x00, 0xFE, 0x00], {offset: 8}) ||\n\t\t\t\tcheck([0x27, 0x00, 0xFE, 0x00], {offset: 8}))\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'dng',\n\t\t\t\tmime: 'image/x-adobe-dng'\n\t\t\t};\n\t\t}\n\n\t\tbuffer = Buffer.alloc(24);\n\t\tawait tokenizer.peekBuffer(buffer);\n\t\tif (\n\t\t\t(check([0x10, 0xFB, 0x86, 0x01], {offset: 4}) || check([0x08, 0x00, 0x00, 0x00], {offset: 4})) &&\n\t\t\t// This pattern differentiates ARW from other TIFF-ish file types:\n\t\t\tcheck([0x00, 0xFE, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x01], {offset: 9})\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'arw',\n\t\t\t\tmime: 'image/x-sony-arw'\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\text: 'tif',\n\t\t\tmime: 'image/tiff'\n\t\t};\n\t}\n\n\t// TIFF, big-endian type\n\tif (check([0x4D, 0x4D, 0x0, 0x2A])) {\n\t\treturn {\n\t\t\text: 'tif',\n\t\t\tmime: 'image/tiff'\n\t\t};\n\t}\n\n\tif (checkString('MAC ')) {\n\t\treturn {\n\t\t\text: 'ape',\n\t\t\tmime: 'audio/ape'\n\t\t};\n\t}\n\n\t// https://github.com/threatstack/libmagic/blob/master/magic/Magdir/matroska\n\tif (check([0x1A, 0x45, 0xDF, 0xA3])) { // Root element: EBML\n\t\tasync function readField() {\n\t\t\tconst msb = await tokenizer.peekNumber(Token.UINT8);\n\t\t\tlet mask = 0x80;\n\t\t\tlet ic = 0; // 0 = A, 1 = B, 2 = C, 3 = D\n\n\t\t\twhile ((msb & mask) === 0) {\n\t\t\t\t++ic;\n\t\t\t\tmask >>= 1;\n\t\t\t}\n\n\t\t\tconst id = Buffer.alloc(ic + 1);\n\t\t\tawait tokenizer.readBuffer(id);\n\t\t\treturn id;\n\t\t}\n\n\t\tasync function readElement() {\n\t\t\tconst id = await readField();\n\t\t\tconst lenField = await readField();\n\t\t\tlenField[0] ^= 0x80 >> (lenField.length - 1);\n\t\t\tconst nrLen = Math.min(6, lenField.length); // JavaScript can max read 6 bytes integer\n\t\t\treturn {\n\t\t\t\tid: id.readUIntBE(0, id.length),\n\t\t\t\tlen: lenField.readUIntBE(lenField.length - nrLen, nrLen)\n\t\t\t};\n\t\t}\n\n\t\tasync function readChildren(level, children) {\n\t\t\twhile (children > 0) {\n\t\t\t\tconst e = await readElement();\n\t\t\t\tif (e.id === 0x4282) {\n\t\t\t\t\treturn tokenizer.readToken(new Token.StringType(e.len, 'utf-8')); // Return DocType\n\t\t\t\t}\n\n\t\t\t\tawait tokenizer.ignore(e.len); // ignore payload\n\t\t\t\t--children;\n\t\t\t}\n\t\t}\n\n\t\tconst re = await readElement();\n\t\tconst docType = await readChildren(1, re.len);\n\n\t\tswitch (docType) {\n\t\t\tcase 'webm':\n\t\t\t\treturn {\n\t\t\t\t\text: 'webm',\n\t\t\t\t\tmime: 'video/webm'\n\t\t\t\t};\n\n\t\t\tcase 'matroska':\n\t\t\t\treturn {\n\t\t\t\t\text: 'mkv',\n\t\t\t\t\tmime: 'video/x-matroska'\n\t\t\t\t};\n\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t}\n\n\t// RIFF file format which might be AVI, WAV, QCP, etc\n\tif (check([0x52, 0x49, 0x46, 0x46])) {\n\t\tif (check([0x41, 0x56, 0x49], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'avi',\n\t\t\t\tmime: 'video/vnd.avi'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x57, 0x41, 0x56, 0x45], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'wav',\n\t\t\t\tmime: 'audio/vnd.wave'\n\t\t\t};\n\t\t}\n\n\t\t// QLCM, QCP file\n\t\tif (check([0x51, 0x4C, 0x43, 0x4D], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'qcp',\n\t\t\t\tmime: 'audio/qcelp'\n\t\t\t};\n\t\t}\n\t}\n\n\tif (checkString('SQLi')) {\n\t\treturn {\n\t\t\text: 'sqlite',\n\t\t\tmime: 'application/x-sqlite3'\n\t\t};\n\t}\n\n\tif (check([0x4E, 0x45, 0x53, 0x1A])) {\n\t\treturn {\n\t\t\text: 'nes',\n\t\t\tmime: 'application/x-nintendo-nes-rom'\n\t\t};\n\t}\n\n\tif (checkString('Cr24')) {\n\t\treturn {\n\t\t\text: 'crx',\n\t\t\tmime: 'application/x-google-chrome-extension'\n\t\t};\n\t}\n\n\tif (\n\t\tcheckString('MSCF') ||\n\t\tcheckString('ISc(')\n\t) {\n\t\treturn {\n\t\t\text: 'cab',\n\t\t\tmime: 'application/vnd.ms-cab-compressed'\n\t\t};\n\t}\n\n\tif (check([0xED, 0xAB, 0xEE, 0xDB])) {\n\t\treturn {\n\t\t\text: 'rpm',\n\t\t\tmime: 'application/x-rpm'\n\t\t};\n\t}\n\n\tif (check([0xC5, 0xD0, 0xD3, 0xC6])) {\n\t\treturn {\n\t\t\text: 'eps',\n\t\t\tmime: 'application/eps'\n\t\t};\n\t}\n\n\t// -- 5-byte signatures --\n\n\tif (check([0x4F, 0x54, 0x54, 0x4F, 0x00])) {\n\t\treturn {\n\t\t\text: 'otf',\n\t\t\tmime: 'font/otf'\n\t\t};\n\t}\n\n\tif (checkString('#!AMR')) {\n\t\treturn {\n\t\t\text: 'amr',\n\t\t\tmime: 'audio/amr'\n\t\t};\n\t}\n\n\tif (checkString('{\\\\rtf')) {\n\t\treturn {\n\t\t\text: 'rtf',\n\t\t\tmime: 'application/rtf'\n\t\t};\n\t}\n\n\tif (check([0x46, 0x4C, 0x56, 0x01])) {\n\t\treturn {\n\t\t\text: 'flv',\n\t\t\tmime: 'video/x-flv'\n\t\t};\n\t}\n\n\tif (checkString('IMPM')) {\n\t\treturn {\n\t\t\text: 'it',\n\t\t\tmime: 'audio/x-it'\n\t\t};\n\t}\n\n\tif (\n\t\tcheckString('-lh0-', {offset: 2}) ||\n\t\tcheckString('-lh1-', {offset: 2}) ||\n\t\tcheckString('-lh2-', {offset: 2}) ||\n\t\tcheckString('-lh3-', {offset: 2}) ||\n\t\tcheckString('-lh4-', {offset: 2}) ||\n\t\tcheckString('-lh5-', {offset: 2}) ||\n\t\tcheckString('-lh6-', {offset: 2}) ||\n\t\tcheckString('-lh7-', {offset: 2}) ||\n\t\tcheckString('-lzs-', {offset: 2}) ||\n\t\tcheckString('-lz4-', {offset: 2}) ||\n\t\tcheckString('-lz5-', {offset: 2}) ||\n\t\tcheckString('-lhd-', {offset: 2})\n\t) {\n\t\treturn {\n\t\t\text: 'lzh',\n\t\t\tmime: 'application/x-lzh-compressed'\n\t\t};\n\t}\n\n\t// MPEG program stream (PS or MPEG-PS)\n\tif (check([0x00, 0x00, 0x01, 0xBA])) {\n\t\t// MPEG-PS, MPEG-1 Part 1\n\t\tif (check([0x21], {offset: 4, mask: [0xF1]})) {\n\t\t\treturn {\n\t\t\t\text: 'mpg', // May also be .ps, .mpeg\n\t\t\t\tmime: 'video/MP1S'\n\t\t\t};\n\t\t}\n\n\t\t// MPEG-PS, MPEG-2 Part 1\n\t\tif (check([0x44], {offset: 4, mask: [0xC4]})) {\n\t\t\treturn {\n\t\t\t\text: 'mpg', // May also be .mpg, .m2p, .vob or .sub\n\t\t\t\tmime: 'video/MP2P'\n\t\t\t};\n\t\t}\n\t}\n\n\t// -- 6-byte signatures --\n\n\tif (check([0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00])) {\n\t\treturn {\n\t\t\text: 'xz',\n\t\t\tmime: 'application/x-xz'\n\t\t};\n\t}\n\n\tif (checkString('<?xml ')) {\n\t\treturn {\n\t\t\text: 'xml',\n\t\t\tmime: 'application/xml'\n\t\t};\n\t}\n\n\tif (checkString('BEGIN:')) {\n\t\treturn {\n\t\t\text: 'ics',\n\t\t\tmime: 'text/calendar'\n\t\t};\n\t}\n\n\tif (check([0x37, 0x7A, 0xBC, 0xAF, 0x27, 0x1C])) {\n\t\treturn {\n\t\t\text: '7z',\n\t\t\tmime: 'application/x-7z-compressed'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x52, 0x61, 0x72, 0x21, 0x1A, 0x7]) &&\n\t\t(buffer[6] === 0x0 || buffer[6] === 0x1)\n\t) {\n\t\treturn {\n\t\t\text: 'rar',\n\t\t\tmime: 'application/x-rar-compressed'\n\t\t};\n\t}\n\n\t// -- 7-byte signatures --\n\n\tif (checkString('BLENDER')) {\n\t\treturn {\n\t\t\text: 'blend',\n\t\t\tmime: 'application/x-blender'\n\t\t};\n\t}\n\n\tif (checkString('!<arch>')) {\n\t\tawait tokenizer.ignore(8);\n\t\tconst str = await tokenizer.readToken(new Token.StringType(13, 'ascii'));\n\t\tif (str === 'debian-binary') {\n\t\t\treturn {\n\t\t\t\text: 'deb',\n\t\t\t\tmime: 'application/x-deb'\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\text: 'ar',\n\t\t\tmime: 'application/x-unix-archive'\n\t\t};\n\t}\n\n\t// -- 8-byte signatures --\n\n\tif (check([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A])) {\n\t\t// APNG format (https://wiki.mozilla.org/APNG_Specification)\n\t\t// 1. Find the first IDAT (image data) chunk (49 44 41 54)\n\t\t// 2. Check if there is an \"acTL\" chunk before the IDAT one (61 63 54 4C)\n\n\t\t// Offset calculated as follows:\n\t\t// - 8 bytes: PNG signature\n\t\t// - 4 (length) + 4 (chunk type) + 13 (chunk data) + 4 (CRC): IHDR chunk\n\n\t\tawait tokenizer.ignore(8); // ignore PNG signature\n\n\t\tasync function readChunkHeader() {\n\t\t\treturn {\n\t\t\t\tlength: await tokenizer.readToken(Token.INT32_BE),\n\t\t\t\ttype: await tokenizer.readToken(new Token.StringType(4, 'binary'))\n\t\t\t};\n\t\t}\n\n\t\tdo {\n\t\t\tconst chunk = await readChunkHeader();\n\t\t\tswitch (chunk.type) {\n\t\t\t\tcase 'IDAT':\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'png',\n\t\t\t\t\t\tmime: 'image/png'\n\t\t\t\t\t};\n\t\t\t\tcase 'acTL':\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'apng',\n\t\t\t\t\t\tmime: 'image/apng'\n\t\t\t\t\t};\n\t\t\t\tdefault:\n\t\t\t\t\tawait tokenizer.ignore(chunk.length + 4); // Ignore chunk-data + CRC\n\t\t\t}\n\t\t} while (tokenizer.position < tokenizer.fileInfo.size);\n\n\t\treturn {\n\t\t\text: 'png',\n\t\t\tmime: 'image/png'\n\t\t};\n\t}\n\n\tif (check([0x41, 0x52, 0x52, 0x4F, 0x57, 0x31, 0x00, 0x00])) {\n\t\treturn {\n\t\t\text: 'arrow',\n\t\t\tmime: 'application/x-apache-arrow'\n\t\t};\n\t}\n\n\tif (check([0x67, 0x6C, 0x54, 0x46, 0x02, 0x00, 0x00, 0x00])) {\n\t\treturn {\n\t\t\text: 'glb',\n\t\t\tmime: 'model/gltf-binary'\n\t\t};\n\t}\n\n\t// `mov` format variants\n\tif (\n\t\tcheck([0x66, 0x72, 0x65, 0x65], {offset: 4}) || // `free`\n\t\tcheck([0x6D, 0x64, 0x61, 0x74], {offset: 4}) || // `mdat` MJPEG\n\t\tcheck([0x6D, 0x6F, 0x6F, 0x76], {offset: 4}) || // `moov`\n\t\tcheck([0x77, 0x69, 0x64, 0x65], {offset: 4}) // `wide`\n\t) {\n\t\treturn {\n\t\t\text: 'mov',\n\t\t\tmime: 'video/quicktime'\n\t\t};\n\t}\n\n\t// -- 9-byte signatures --\n\n\tif (check([0x49, 0x49, 0x52, 0x4F, 0x08, 0x00, 0x00, 0x00, 0x18])) {\n\t\treturn {\n\t\t\text: 'orf',\n\t\t\tmime: 'image/x-olympus-orf'\n\t\t};\n\t}\n\n\t// -- 12-byte signatures --\n\n\tif (check([0x49, 0x49, 0x55, 0x00, 0x18, 0x00, 0x00, 0x00, 0x88, 0xE7, 0x74, 0xD8])) {\n\t\treturn {\n\t\t\text: 'rw2',\n\t\t\tmime: 'image/x-panasonic-rw2'\n\t\t};\n\t}\n\n\t// ASF_Header_Object first 80 bytes\n\tif (check([0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9])) {\n\t\tasync function readHeader() {\n\t\t\tconst guid = Buffer.alloc(16);\n\t\t\tawait tokenizer.readBuffer(guid);\n\t\t\treturn {\n\t\t\t\tid: guid,\n\t\t\t\tsize: await tokenizer.readToken(Token.UINT64_LE)\n\t\t\t};\n\t\t}\n\n\t\tawait tokenizer.ignore(30);\n\t\t// Search for header should be in first 1KB of file.\n\t\twhile (tokenizer.position + 24 < tokenizer.fileInfo.size) {\n\t\t\tconst header = await readHeader();\n\t\t\tlet payload = header.size - 24;\n\t\t\tif (_check(header.id, [0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65])) {\n\t\t\t\t// Sync on Stream-Properties-Object (B7DC0791-A9B7-11CF-8EE6-00C00C205365)\n\t\t\t\tconst typeId = Buffer.alloc(16);\n\t\t\t\tpayload -= await tokenizer.readBuffer(typeId);\n\n\t\t\t\tif (_check(typeId, [0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B])) {\n\t\t\t\t\t// Found audio:\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'wma',\n\t\t\t\t\t\tmime: 'audio/x-ms-wma'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (_check(typeId, [0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B])) {\n\t\t\t\t\t// Found video:\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'wmv',\n\t\t\t\t\t\tmime: 'video/x-ms-asf'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tawait tokenizer.ignore(payload);\n\t\t}\n\n\t\t// Default to ASF generic extension\n\t\treturn {\n\t\t\text: 'asf',\n\t\t\tmime: 'application/vnd.ms-asf'\n\t\t};\n\t}\n\n\tif (check([0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A])) {\n\t\treturn {\n\t\t\text: 'ktx',\n\t\t\tmime: 'image/ktx'\n\t\t};\n\t}\n\n\tif ((check([0x7E, 0x10, 0x04]) || check([0x7E, 0x18, 0x04])) && check([0x30, 0x4D, 0x49, 0x45], {offset: 4})) {\n\t\treturn {\n\t\t\text: 'mie',\n\t\t\tmime: 'application/x-mie'\n\t\t};\n\t}\n\n\tif (check([0x27, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00], {offset: 2})) {\n\t\treturn {\n\t\t\text: 'shp',\n\t\t\tmime: 'application/x-esri-shape'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A])) {\n\t\t// JPEG-2000 family\n\n\t\tawait tokenizer.ignore(20);\n\t\tconst type = await tokenizer.readToken(new Token.StringType(4, 'ascii'));\n\t\tswitch (type) {\n\t\t\tcase 'jp2 ':\n\t\t\t\treturn {\n\t\t\t\t\text: 'jp2',\n\t\t\t\t\tmime: 'image/jp2'\n\t\t\t\t};\n\t\t\tcase 'jpx ':\n\t\t\t\treturn {\n\t\t\t\t\text: 'jpx',\n\t\t\t\t\tmime: 'image/jpx'\n\t\t\t\t};\n\t\t\tcase 'jpm ':\n\t\t\t\treturn {\n\t\t\t\t\text: 'jpm',\n\t\t\t\t\tmime: 'image/jpm'\n\t\t\t\t};\n\t\t\tcase 'mjp2':\n\t\t\t\treturn {\n\t\t\t\t\text: 'mj2',\n\t\t\t\t\tmime: 'image/mj2'\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t}\n\n\t// -- Unsafe signatures --\n\n\tif (\n\t\tcheck([0x0, 0x0, 0x1, 0xBA]) ||\n\t\tcheck([0x0, 0x0, 0x1, 0xB3])\n\t) {\n\t\treturn {\n\t\t\text: 'mpg',\n\t\t\tmime: 'video/mpeg'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x01, 0x00, 0x00, 0x00])) {\n\t\treturn {\n\t\t\text: 'ttf',\n\t\t\tmime: 'font/ttf'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x01, 0x00])) {\n\t\treturn {\n\t\t\text: 'ico',\n\t\t\tmime: 'image/x-icon'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x02, 0x00])) {\n\t\treturn {\n\t\t\text: 'cur',\n\t\t\tmime: 'image/x-icon'\n\t\t};\n\t}\n\n\t// Increase sample size from 12 to 256.\n\tawait tokenizer.peekBuffer(buffer, {length: Math.min(256, tokenizer.fileInfo.size), mayBeLess: true});\n\n\t// `raf` is here just to keep all the raw image detectors together.\n\tif (checkString('FUJIFILMCCD-RAW')) {\n\t\treturn {\n\t\t\text: 'raf',\n\t\t\tmime: 'image/x-fujifilm-raf'\n\t\t};\n\t}\n\n\tif (checkString('Extended Module:')) {\n\t\treturn {\n\t\t\text: 'xm',\n\t\t\tmime: 'audio/x-xm'\n\t\t};\n\t}\n\n\tif (checkString('Creative Voice File')) {\n\t\treturn {\n\t\t\text: 'voc',\n\t\t\tmime: 'audio/x-voc'\n\t\t};\n\t}\n\n\tif (check([0x04, 0x00, 0x00, 0x00]) && buffer.length >= 16) { // Rough & quick check Pickle/ASAR\n\t\tconst jsonSize = buffer.readUInt32LE(12);\n\t\tif (jsonSize > 12 && jsonSize < 240 && buffer.length >= jsonSize + 16) {\n\t\t\ttry {\n\t\t\t\tconst header = buffer.slice(16, jsonSize + 16).toString();\n\t\t\t\tconst json = JSON.parse(header);\n\t\t\t\t// Check if Pickle is ASAR\n\t\t\t\tif (json.files) { // Final check, assuring Pickle/ASAR format\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'asar',\n\t\t\t\t\t\tmime: 'application/x-asar'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} catch (_) {\n\t\t\t}\n\t\t}\n\t}\n\n\tif (check([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E])) {\n\t\treturn {\n\t\t\text: 'msi',\n\t\t\tmime: 'application/x-msi'\n\t\t};\n\t}\n\n\tif (check([0x06, 0x0E, 0x2B, 0x34, 0x02, 0x05, 0x01, 0x01, 0x0D, 0x01, 0x02, 0x01, 0x01, 0x02])) {\n\t\treturn {\n\t\t\text: 'mxf',\n\t\t\tmime: 'application/mxf'\n\t\t};\n\t}\n\n\tif (checkString('SCRM', {offset: 44})) {\n\t\treturn {\n\t\t\text: 's3m',\n\t\t\tmime: 'audio/x-s3m'\n\t\t};\n\t}\n\n\tif (check([0x47], {offset: 4}) && (check([0x47], {offset: 192}) || check([0x47], {offset: 196}))) {\n\t\treturn {\n\t\t\text: 'mts',\n\t\t\tmime: 'video/mp2t'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x4F, 0x4F, 0x4B, 0x4D, 0x4F, 0x42, 0x49], {offset: 60})) {\n\t\treturn {\n\t\t\text: 'mobi',\n\t\t\tmime: 'application/x-mobipocket-ebook'\n\t\t};\n\t}\n\n\tif (check([0x44, 0x49, 0x43, 0x4D], {offset: 128})) {\n\t\treturn {\n\t\t\text: 'dcm',\n\t\t\tmime: 'application/dicom'\n\t\t};\n\t}\n\n\tif (check([0x4C, 0x00, 0x00, 0x00, 0x01, 0x14, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46])) {\n\t\treturn {\n\t\t\text: 'lnk',\n\t\t\tmime: 'application/x.ms.shortcut' // Invented by us\n\t\t};\n\t}\n\n\tif (check([0x62, 0x6F, 0x6F, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x72, 0x6B, 0x00, 0x00, 0x00, 0x00])) {\n\t\treturn {\n\t\t\text: 'alias',\n\t\t\tmime: 'application/x.apple.alias' // Invented by us\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x4C, 0x50], {offset: 34}) &&\n\t\t(\n\t\t\tcheck([0x00, 0x00, 0x01], {offset: 8}) ||\n\t\t\tcheck([0x01, 0x00, 0x02], {offset: 8}) ||\n\t\t\tcheck([0x02, 0x00, 0x02], {offset: 8})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'eot',\n\t\t\tmime: 'application/vnd.ms-fontobject'\n\t\t};\n\t}\n\n\tif (check([0x06, 0x06, 0xED, 0xF5, 0xD8, 0x1D, 0x46, 0xE5, 0xBD, 0x31, 0xEF, 0xE7, 0xFE, 0x74, 0xB7, 0x1D])) {\n\t\treturn {\n\t\t\text: 'indd',\n\t\t\tmime: 'application/x-indesign'\n\t\t};\n\t}\n\n\t// Increase sample size from 256 to 512\n\tawait tokenizer.peekBuffer(buffer, {length: Math.min(512, tokenizer.fileInfo.size), mayBeLess: true});\n\n\t// Requires a buffer size of 512 bytes\n\tif (tarHeaderChecksumMatches(buffer)) {\n\t\treturn {\n\t\t\text: 'tar',\n\t\t\tmime: 'application/x-tar'\n\t\t};\n\t}\n\n\tif (check([0xFF, 0xFE, 0xFF, 0x0E, 0x53, 0x00, 0x6B, 0x00, 0x65, 0x00, 0x74, 0x00, 0x63, 0x00, 0x68, 0x00, 0x55, 0x00, 0x70, 0x00, 0x20, 0x00, 0x4D, 0x00, 0x6F, 0x00, 0x64, 0x00, 0x65, 0x00, 0x6C, 0x00])) {\n\t\treturn {\n\t\t\text: 'skp',\n\t\t\tmime: 'application/vnd.sketchup.skp'\n\t\t};\n\t}\n\n\tif (checkString('-----BEGIN PGP MESSAGE-----')) {\n\t\treturn {\n\t\t\text: 'pgp',\n\t\t\tmime: 'application/pgp-encrypted'\n\t\t};\n\t}\n\n\t// Check for MPEG header at different starting offsets\n\tfor (let start = 0; start < 2 && start < (buffer.length - 16); start++) {\n\t\t// Check MPEG 1 or 2 Layer 3 header, or 'layer 0' for ADTS (MPEG sync-word 0xFFE)\n\t\tif (buffer.length >= start + 2 && check([0xFF, 0xE0], {offset: start, mask: [0xFF, 0xE0]})) {\n\t\t\tif (check([0x10], {offset: start + 1, mask: [0x16]})) {\n\t\t\t\t// Check for (ADTS) MPEG-2\n\t\t\t\tif (check([0x08], {offset: start + 1, mask: [0x08]})) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'aac',\n\t\t\t\t\t\tmime: 'audio/aac'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Must be (ADTS) MPEG-4\n\t\t\t\treturn {\n\t\t\t\t\text: 'aac',\n\t\t\t\t\tmime: 'audio/aac'\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// MPEG 1 or 2 Layer 3 header\n\t\t\t// Check for MPEG layer 3\n\t\t\tif (check([0x02], {offset: start + 1, mask: [0x06]})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'mp3',\n\t\t\t\t\tmime: 'audio/mpeg'\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Check for MPEG layer 2\n\t\t\tif (check([0x04], {offset: start + 1, mask: [0x06]})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'mp2',\n\t\t\t\t\tmime: 'audio/mpeg'\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Check for MPEG layer 1\n\t\t\tif (check([0x06], {offset: start + 1, mask: [0x06]})) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'mp1',\n\t\t\t\t\tmime: 'audio/mpeg'\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n}\n\nconst stream = readableStream => new Promise((resolve, reject) => {\n\t// Using `eval` to work around issues when bundling with Webpack\n\tconst stream = eval('require')('stream'); // eslint-disable-line no-eval\n\n\treadableStream.on('error', reject);\n\treadableStream.once('readable', async () => {\n\t\t// Set up output stream\n\t\tconst pass = new stream.PassThrough();\n\t\tlet outputStream;\n\t\tif (stream.pipeline) {\n\t\t\toutputStream = stream.pipeline(readableStream, pass, () => {\n\t\t\t});\n\t\t} else {\n\t\t\toutputStream = readableStream.pipe(pass);\n\t\t}\n\n\t\t// Read the input stream and detect the filetype\n\t\tconst chunk = readableStream.read(minimumBytes) || readableStream.read() || Buffer.alloc(0);\n\t\ttry {\n\t\t\tconst fileType = await fromBuffer(chunk);\n\t\t\tpass.fileType = fileType;\n\t\t} catch (error) {\n\t\t\treject(error);\n\t\t}\n\n\t\tresolve(outputStream);\n\t});\n});\n\nconst fileType = {\n\tfromStream,\n\tfromTokenizer,\n\tfromBuffer,\n\tstream\n};\n\nObject.defineProperty(fileType, 'extensions', {\n\tget() {\n\t\treturn new Set(supported.extensions);\n\t}\n});\n\nObject.defineProperty(fileType, 'mimeTypes', {\n\tget() {\n\t\treturn new Set(supported.mimeTypes);\n\t}\n});\n\nmodule.exports = fileType;\n","'use strict';\nconst strtok3 = require('strtok3');\nconst core = require('./core');\n\nasync function fromFile(path) {\n\tconst tokenizer = await strtok3.fromFile(path);\n\ttry {\n\t\treturn await core.fromTokenizer(tokenizer);\n\t} finally {\n\t\tawait tokenizer.close();\n\t}\n}\n\nconst fileType = {\n\tfromFile\n};\n\nObject.assign(fileType, core);\n\nObject.defineProperty(fileType, 'extensions', {\n\tget() {\n\t\treturn core.extensions;\n\t}\n});\n\nObject.defineProperty(fileType, 'mimeTypes', {\n\tget() {\n\t\treturn core.mimeTypes;\n\t}\n});\n\nmodule.exports = fileType;\n","'use strict';\n\nmodule.exports = {\n\textensions: [\n\t\t'jpg',\n\t\t'png',\n\t\t'apng',\n\t\t'gif',\n\t\t'webp',\n\t\t'flif',\n\t\t'cr2',\n\t\t'cr3',\n\t\t'orf',\n\t\t'arw',\n\t\t'dng',\n\t\t'nef',\n\t\t'rw2',\n\t\t'raf',\n\t\t'tif',\n\t\t'bmp',\n\t\t'icns',\n\t\t'jxr',\n\t\t'psd',\n\t\t'indd',\n\t\t'zip',\n\t\t'tar',\n\t\t'rar',\n\t\t'gz',\n\t\t'bz2',\n\t\t'7z',\n\t\t'dmg',\n\t\t'mp4',\n\t\t'mid',\n\t\t'mkv',\n\t\t'webm',\n\t\t'mov',\n\t\t'avi',\n\t\t'mpg',\n\t\t'mp2',\n\t\t'mp3',\n\t\t'm4a',\n\t\t'oga',\n\t\t'ogg',\n\t\t'ogv',\n\t\t'opus',\n\t\t'flac',\n\t\t'wav',\n\t\t'spx',\n\t\t'amr',\n\t\t'pdf',\n\t\t'epub',\n\t\t'exe',\n\t\t'swf',\n\t\t'rtf',\n\t\t'wasm',\n\t\t'woff',\n\t\t'woff2',\n\t\t'eot',\n\t\t'ttf',\n\t\t'otf',\n\t\t'ico',\n\t\t'flv',\n\t\t'ps',\n\t\t'xz',\n\t\t'sqlite',\n\t\t'nes',\n\t\t'crx',\n\t\t'xpi',\n\t\t'cab',\n\t\t'deb',\n\t\t'ar',\n\t\t'rpm',\n\t\t'Z',\n\t\t'lz',\n\t\t'msi',\n\t\t'mxf',\n\t\t'mts',\n\t\t'blend',\n\t\t'bpg',\n\t\t'docx',\n\t\t'pptx',\n\t\t'xlsx',\n\t\t'3gp',\n\t\t'3g2',\n\t\t'jp2',\n\t\t'jpm',\n\t\t'jpx',\n\t\t'mj2',\n\t\t'aif',\n\t\t'qcp',\n\t\t'odt',\n\t\t'ods',\n\t\t'odp',\n\t\t'xml',\n\t\t'mobi',\n\t\t'heic',\n\t\t'cur',\n\t\t'ktx',\n\t\t'ape',\n\t\t'wv',\n\t\t'wmv',\n\t\t'wma',\n\t\t'dcm',\n\t\t'ics',\n\t\t'glb',\n\t\t'pcap',\n\t\t'dsf',\n\t\t'lnk',\n\t\t'alias',\n\t\t'voc',\n\t\t'ac3',\n\t\t'm4v',\n\t\t'm4p',\n\t\t'm4b',\n\t\t'f4v',\n\t\t'f4p',\n\t\t'f4b',\n\t\t'f4a',\n\t\t'mie',\n\t\t'asf',\n\t\t'ogm',\n\t\t'ogx',\n\t\t'mpc',\n\t\t'arrow',\n\t\t'shp',\n\t\t'aac',\n\t\t'mp1',\n\t\t'it',\n\t\t's3m',\n\t\t'xm',\n\t\t'ai',\n\t\t'skp',\n\t\t'avif',\n\t\t'eps',\n\t\t'lzh',\n\t\t'pgp',\n\t\t'asar'\n\t],\n\tmimeTypes: [\n\t\t'image/jpeg',\n\t\t'image/png',\n\t\t'image/gif',\n\t\t'image/webp',\n\t\t'image/flif',\n\t\t'image/x-canon-cr2',\n\t\t'image/x-canon-cr3',\n\t\t'image/tiff',\n\t\t'image/bmp',\n\t\t'image/vnd.ms-photo',\n\t\t'image/vnd.adobe.photoshop',\n\t\t'application/x-indesign',\n\t\t'application/epub+zip',\n\t\t'application/x-xpinstall',\n\t\t'application/vnd.oasis.opendocument.text',\n\t\t'application/vnd.oasis.opendocument.spreadsheet',\n\t\t'application/vnd.oasis.opendocument.presentation',\n\t\t'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n\t\t'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n\t\t'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n\t\t'application/zip',\n\t\t'application/x-tar',\n\t\t'application/x-rar-compressed',\n\t\t'application/gzip',\n\t\t'application/x-bzip2',\n\t\t'application/x-7z-compressed',\n\t\t'application/x-apple-diskimage',\n\t\t'application/x-apache-arrow',\n\t\t'video/mp4',\n\t\t'audio/midi',\n\t\t'video/x-matroska',\n\t\t'video/webm',\n\t\t'video/quicktime',\n\t\t'video/vnd.avi',\n\t\t'audio/vnd.wave',\n\t\t'audio/qcelp',\n\t\t'audio/x-ms-wma',\n\t\t'video/x-ms-asf',\n\t\t'application/vnd.ms-asf',\n\t\t'video/mpeg',\n\t\t'video/3gpp',\n\t\t'audio/mpeg',\n\t\t'audio/mp4', // RFC 4337\n\t\t'audio/opus',\n\t\t'video/ogg',\n\t\t'audio/ogg',\n\t\t'application/ogg',\n\t\t'audio/x-flac',\n\t\t'audio/ape',\n\t\t'audio/wavpack',\n\t\t'audio/amr',\n\t\t'application/pdf',\n\t\t'application/x-msdownload',\n\t\t'application/x-shockwave-flash',\n\t\t'application/rtf',\n\t\t'application/wasm',\n\t\t'font/woff',\n\t\t'font/woff2',\n\t\t'application/vnd.ms-fontobject',\n\t\t'font/ttf',\n\t\t'font/otf',\n\t\t'image/x-icon',\n\t\t'video/x-flv',\n\t\t'application/postscript',\n\t\t'application/eps',\n\t\t'application/x-xz',\n\t\t'application/x-sqlite3',\n\t\t'application/x-nintendo-nes-rom',\n\t\t'application/x-google-chrome-extension',\n\t\t'application/vnd.ms-cab-compressed',\n\t\t'application/x-deb',\n\t\t'application/x-unix-archive',\n\t\t'application/x-rpm',\n\t\t'application/x-compress',\n\t\t'application/x-lzip',\n\t\t'application/x-msi',\n\t\t'application/x-mie',\n\t\t'application/mxf',\n\t\t'video/mp2t',\n\t\t'application/x-blender',\n\t\t'image/bpg',\n\t\t'image/jp2',\n\t\t'image/jpx',\n\t\t'image/jpm',\n\t\t'image/mj2',\n\t\t'audio/aiff',\n\t\t'application/xml',\n\t\t'application/x-mobipocket-ebook',\n\t\t'image/heif',\n\t\t'image/heif-sequence',\n\t\t'image/heic',\n\t\t'image/heic-sequence',\n\t\t'image/icns',\n\t\t'image/ktx',\n\t\t'application/dicom',\n\t\t'audio/x-musepack',\n\t\t'text/calendar',\n\t\t'model/gltf-binary',\n\t\t'application/vnd.tcpdump.pcap',\n\t\t'audio/x-dsf', // Non-standard\n\t\t'application/x.ms.shortcut', // Invented by us\n\t\t'application/x.apple.alias', // Invented by us\n\t\t'audio/x-voc',\n\t\t'audio/vnd.dolby.dd-raw',\n\t\t'audio/x-m4a',\n\t\t'image/apng',\n\t\t'image/x-olympus-orf',\n\t\t'image/x-sony-arw',\n\t\t'image/x-adobe-dng',\n\t\t'image/x-nikon-nef',\n\t\t'image/x-panasonic-rw2',\n\t\t'image/x-fujifilm-raf',\n\t\t'video/x-m4v',\n\t\t'video/3gpp2',\n\t\t'application/x-esri-shape',\n\t\t'audio/aac',\n\t\t'audio/x-it',\n\t\t'audio/x-s3m',\n\t\t'audio/x-xm',\n\t\t'video/MP1S',\n\t\t'video/MP2P',\n\t\t'application/vnd.sketchup.skp',\n\t\t'image/avif',\n\t\t'application/x-lzh-compressed',\n\t\t'application/pgp-encrypted',\n\t\t'application/x-asar'\n\t]\n};\n","'use strict';\n\nexports.stringToBytes = string => [...string].map(character => character.charCodeAt(0));\n\nexports.tarHeaderChecksumMatches = buffer => { // Does not check if checksum field characters are valid\n\tif (buffer.length < 512) { // `tar` header size, cannot compute checksum without it\n\t\treturn false;\n\t}\n\n\tconst readSum = parseInt(buffer.toString('utf8', 148, 154).replace(/\\0.*$/, '').trim(), 8); // Read sum in header\n\tif (isNaN(readSum)) {\n\t\treturn false;\n\t}\n\n\tconst MASK_8TH_BIT = 0x80;\n\n\tlet sum = 256; // Initialize sum, with 256 as sum of 8 spaces in checksum field\n\tlet signedBitSum = 0; // Initialize signed bit sum\n\n\tfor (let i = 0; i < 148; i++) {\n\t\tconst byte = buffer[i];\n\t\tsum += byte;\n\t\tsignedBitSum += byte & MASK_8TH_BIT; // Add signed bit to signed bit sum\n\t}\n\n\t// Skip checksum field\n\n\tfor (let i = 156; i < 512; i++) {\n\t\tconst byte = buffer[i];\n\t\tsum += byte;\n\t\tsignedBitSum += byte & MASK_8TH_BIT; // Add signed bit to signed bit sum\n\t}\n\n\t// Some implementations compute checksum incorrectly using signed bytes\n\treturn (\n\t\t// Checksum in header equals the sum we calculated\n\t\treadSum === sum ||\n\n\t\t// Checksum in header equals sum we calculated plus signed-to-unsigned delta\n\t\treadSum === (sum - (signedBitSum << 1))\n\t);\n};\n\n/**\nID3 UINT32 sync-safe tokenizer token.\n28 bits (representing up to 256MB) integer, the msb is 0 to avoid \"false syncsignals\".\n*/\nexports.uint32SyncSafeToken = {\n\tget: (buffer, offset) => {\n\t\treturn (buffer[offset + 3] & 0x7F) | ((buffer[offset + 2]) << 7) | ((buffer[offset + 1]) << 14) | ((buffer[offset]) << 21);\n\t},\n\tlen: 4\n};\n","export default function isPng(buffer) {\n\tif (!buffer || buffer.length < 8) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\tbuffer[0] === 0x89 &&\n\t\tbuffer[1] === 0x50 &&\n\t\tbuffer[2] === 0x4E &&\n\t\tbuffer[3] === 0x47 &&\n\t\tbuffer[4] === 0x0D &&\n\t\tbuffer[5] === 0x0A &&\n\t\tbuffer[6] === 0x1A &&\n\t\tbuffer[7] === 0x0A\n\t);\n}\n","// Copyright 2019-2021 Tauri Programme within The Commons Conservancy\n// SPDX-License-Identifier: Apache-2.0\n// SPDX-License-Identifier: MIT\n'use strict';\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* eslint-disable @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call */\n/**\n * This is a module that takes an original image and resizes\n * it to common icon sizes and will put them in a folder.\n * It will retain transparency and can make special file\n * types. You can control the settings.\n *\n * @module tauricon\n * @exports tauricon\n * @author Daniel Thompson-Yvetot\n * @license MIT\n */\nvar fs_extra_1 = require(\"fs-extra\");\nvar imagemin_1 = __importDefault(require(\"imagemin\"));\nvar imagemin_optipng_1 = __importDefault(require(\"imagemin-optipng\"));\nvar imagemin_zopfli_1 = __importDefault(require(\"imagemin-zopfli\"));\nvar is_png_1 = __importDefault(require(\"is-png\"));\nvar path_1 = __importDefault(require(\"path\"));\nvar png2icons = __importStar(require(\"png2icons\"));\nvar read_chunk_1 = __importDefault(require(\"read-chunk\"));\nvar sharp_1 = __importDefault(require(\"sharp\"));\nvar app_paths_1 = require(\"../helpers/app-paths\");\nvar logger_1 = __importDefault(require(\"../helpers/logger\"));\nvar settings = __importStar(require(\"../helpers/tauricon.config\"));\nvar chalk_1 = __importDefault(require(\"chalk\"));\nvar package_json_1 = require(\"../../package.json\");\nvar log = logger_1.default('app:spawn');\nvar warn = logger_1.default('app:spawn', chalk_1.default.red);\nvar image = false;\nvar spinnerInterval = null;\nvar exists = function (file) {\n return __awaiter(this, void 0, void 0, function () {\n var err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, fs_extra_1.access(file)];\n case 1:\n _a.sent();\n return [2 /*return*/, true];\n case 2:\n err_1 = _a.sent();\n return [2 /*return*/, false];\n case 3: return [2 /*return*/];\n }\n });\n });\n};\n/**\n * This is the first call that attempts to memoize the sharp(src).\n * If the source image cannot be found or if it is not a png, it\n * is a failsafe that will exit or throw.\n *\n * @param {string} src - a folder to target\n * @exits {error} if not a png, if not an image\n */\nvar checkSrc = function (src) { return __awaiter(void 0, void 0, void 0, function () {\n var srcExists, buffer, meta, stats;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(image !== false)) return [3 /*break*/, 1];\n return [2 /*return*/, image];\n case 1: return [4 /*yield*/, exists(src)];\n case 2:\n srcExists = _a.sent();\n if (!!srcExists) return [3 /*break*/, 3];\n image = false;\n if (spinnerInterval)\n clearInterval(spinnerInterval);\n warn('[ERROR] Source image for tauricon not found');\n process.exit(1);\n return [3 /*break*/, 8];\n case 3: return [4 /*yield*/, read_chunk_1.default(src, 0, 8)];\n case 4:\n buffer = _a.sent();\n if (!is_png_1.default(buffer)) return [3 /*break*/, 7];\n image = sharp_1.default(src);\n return [4 /*yield*/, image.metadata()];\n case 5:\n meta = _a.sent();\n if (!meta.hasAlpha || meta.channels !== 4) {\n if (spinnerInterval)\n clearInterval(spinnerInterval);\n warn('[ERROR] Source png for tauricon is not transparent');\n process.exit(1);\n }\n return [4 /*yield*/, image.stats()];\n case 6:\n stats = _a.sent();\n if (stats.isOpaque) {\n if (spinnerInterval)\n clearInterval(spinnerInterval);\n warn('[ERROR] Source png for tauricon could not be detected as transparent');\n process.exit(1);\n }\n return [2 /*return*/, image];\n case 7:\n image = false;\n if (spinnerInterval)\n clearInterval(spinnerInterval);\n warn('[ERROR] Source image for tauricon is not a png');\n process.exit(1);\n _a.label = 8;\n case 8: return [2 /*return*/];\n }\n });\n}); };\n/**\n * Sort the folders in the current job for unique folders.\n *\n * @param {object} options - a subset of the settings\n * @returns {array} folders\n */\n// TODO: proper type of options and folders\nvar uniqueFolders = function (options) {\n var folders = [];\n for (var type in options) {\n var option = options[String(type)];\n if (option.folder) {\n folders.push(option.folder);\n }\n }\n // TODO: is compare argument required?\n // eslint-disable-next-line @typescript-eslint/require-array-sort-compare\n folders = folders.sort().filter(function (x, i, a) { return !i || x !== a[i - 1]; });\n return folders;\n};\n/**\n * Turn a hex color (like #212342) into r,g,b values\n *\n * @param {string} hex - hex colour\n * @returns {array} r,g,b\n */\nvar hexToRgb = function (hex) {\n // https://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb\n // Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n var shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n hex = hex.replace(shorthandRegex, function (m, r, g, b) {\n return r + r + g + g + b + b;\n });\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n }\n : undefined;\n};\n/**\n * validate image and directory\n */\nvar validate = function (src, target) { return __awaiter(void 0, void 0, void 0, function () {\n var res;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(target !== undefined)) return [3 /*break*/, 2];\n return [4 /*yield*/, fs_extra_1.ensureDir(target)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [4 /*yield*/, checkSrc(src)];\n case 3:\n res = _a.sent();\n return [2 /*return*/, res];\n }\n });\n}); };\n// TODO: should take end param?\n/**\n * Log progress in the command line\n *\n * @param {boolean} end\n */\nvar progress = function (msg) {\n process.stdout.write(\" \" + msg + \" \\r\");\n};\n/**\n * Create a spinner on the command line\n *\n * @example\n *\n * const spinnerInterval = spinner()\n * // later\n * clearInterval(spinnerInterval)\n */\nvar spinner = function () {\n if ('CI' in process.env || process.argv.some(function (arg) { return arg === '--ci'; })) {\n return null;\n }\n return setInterval(function () {\n process.stdout.write('/ \\r');\n setTimeout(function () {\n process.stdout.write('- \\r');\n setTimeout(function () {\n process.stdout.write('\\\\ \\r');\n setTimeout(function () {\n process.stdout.write('| \\r');\n }, 100);\n }, 100);\n }, 100);\n }, 500);\n};\nvar tauricon = (exports.tauricon = {\n validate: function (src, target) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, validate(src, target)];\n case 1:\n _a.sent();\n return [2 /*return*/, typeof image === 'object'];\n }\n });\n });\n },\n version: function () {\n return package_json_1.version;\n },\n make: function (src, target, strategy, \n // TODO: proper type for options\n options) {\n if (target === void 0) { target = path_1.default.resolve(app_paths_1.tauriDir, 'icons'); }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!src) {\n src = path_1.default.resolve(app_paths_1.appDir, 'app-icon.png');\n }\n spinnerInterval = spinner();\n options = options || settings.options.tauri;\n progress(\"Building Tauri icns and ico from \\\"\" + src + \"\\\"\");\n return [4 /*yield*/, this.validate(src, target)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.icns(src, target, options, strategy)];\n case 2:\n _a.sent();\n progress('Building Tauri png icons');\n return [4 /*yield*/, this.build(src, target, options)];\n case 3:\n _a.sent();\n if (!strategy) return [3 /*break*/, 5];\n progress(\"Minifying assets with \" + strategy);\n return [4 /*yield*/, this.minify(target, options, strategy, 'batch')];\n case 4:\n _a.sent();\n return [3 /*break*/, 6];\n case 5:\n log('no minify strategy');\n _a.label = 6;\n case 6:\n progress('Tauricon Finished');\n if (spinnerInterval)\n clearInterval(spinnerInterval);\n return [2 /*return*/, true];\n }\n });\n });\n },\n /**\n * Creates a set of images according to the subset of options it knows about.\n *\n * @param {string} src - image location\n * @param {string} target - where to drop the images\n * @param {object} options - js object that defines path and sizes\n */\n build: function (src, target, \n // TODO: proper type for options\n options) {\n return __awaiter(this, void 0, void 0, function () {\n var sharpSrc, buildify2, output, folders, n, folder, _a, _b, _i, optionKey, option, _c, _d, _e, sizeKey, size, dest, pvar;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0: return [4 /*yield*/, this.validate(src, target)];\n case 1:\n _f.sent();\n sharpSrc = sharp_1.default(src) // creates the image object\n ;\n buildify2 = function (pvar) {\n return __awaiter(this, void 0, void 0, function () {\n var pngImage, rgb, err_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n pngImage = sharpSrc.resize(pvar[1], pvar[1]);\n if (pvar[2]) {\n rgb = hexToRgb(options.background_color) || {\n r: undefined,\n g: undefined,\n b: undefined\n };\n pngImage.flatten({\n background: { r: rgb.r, g: rgb.g, b: rgb.b, alpha: 1 }\n });\n }\n pngImage.png();\n return [4 /*yield*/, pngImage.toFile(pvar[0])];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n err_2 = _a.sent();\n warn(err_2);\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n folders = uniqueFolders(options);\n // eslint-disable-next-line @typescript-eslint/no-for-in-array\n for (n in folders) {\n folder = folders[Number(n)];\n // make the folders first\n // TODO: should this be ensureDirSync?\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n fs_extra_1.ensureDir(\"\" + target + path_1.default.sep + folder);\n }\n _a = [];\n for (_b in options)\n _a.push(_b);\n _i = 0;\n _f.label = 2;\n case 2:\n if (!(_i < _a.length)) return [3 /*break*/, 7];\n optionKey = _a[_i];\n option = options[String(optionKey)];\n _c = [];\n for (_d in option.sizes)\n _c.push(_d);\n _e = 0;\n _f.label = 3;\n case 3:\n if (!(_e < _c.length)) return [3 /*break*/, 6];\n sizeKey = _c[_e];\n size = option.sizes[String(sizeKey)];\n if (!!option.splash) return [3 /*break*/, 5];\n dest = target + \"/\" + option.folder;\n if (option.infix === true) {\n output = \"\" + dest + path_1.default.sep + option.prefix + size + \"x\" + size + option.suffix;\n }\n else {\n output = \"\" + dest + path_1.default.sep + option.prefix + option.suffix;\n }\n pvar = [\n output,\n size,\n option.background\n ];\n return [4 /*yield*/, buildify2(pvar)];\n case 4:\n _f.sent();\n _f.label = 5;\n case 5:\n _e++;\n return [3 /*break*/, 3];\n case 6:\n _i++;\n return [3 /*break*/, 2];\n case 7: return [2 /*return*/];\n }\n });\n });\n },\n /**\n * Creates a set of splash images (COMING SOON!!!)\n *\n * @param {string} src - icon location\n * @param {string} splashSrc - splashscreen location\n * @param {string} target - where to drop the images\n * @param {object} options - js object that defines path and sizes\n */\n splash: function (src, splashSrc, target, \n // TODO: proper type for options\n options) {\n return __awaiter(this, void 0, void 0, function () {\n var output, block, rgb, sharpSrc, data, _a, _b, _i, optionKey, option, _c, _d, _e, sizeKey, size, dest, pvar, sharpData;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n block = false;\n rgb = hexToRgb(options.background_color) || {\n r: undefined,\n g: undefined,\n b: undefined\n };\n if (splashSrc === src) {\n // prevent overlay or pure\n block = true;\n }\n if (!(block || options.splashscreen_type === 'generate')) return [3 /*break*/, 2];\n return [4 /*yield*/, this.validate(src, target)];\n case 1:\n _f.sent();\n if (!image) {\n process.exit(1);\n }\n sharpSrc = sharp_1.default(src);\n sharpSrc\n .extend({\n top: 726,\n bottom: 726,\n left: 726,\n right: 726,\n background: {\n r: rgb.r,\n g: rgb.g,\n b: rgb.b,\n alpha: 1\n }\n })\n .flatten({ background: { r: rgb.r, g: rgb.g, b: rgb.b, alpha: 1 } });\n return [3 /*break*/, 3];\n case 2:\n if (options.splashscreen_type === 'overlay') {\n sharpSrc = sharp_1.default(splashSrc)\n .flatten({ background: { r: rgb.r, g: rgb.g, b: rgb.b, alpha: 1 } })\n .composite([\n {\n input: src\n // blend: 'multiply' <= future work, maybe just a gag\n }\n ]);\n }\n else if (options.splashscreen_type === 'pure') {\n sharpSrc = sharp_1.default(splashSrc).flatten({\n background: { r: rgb.r, g: rgb.g, b: rgb.b, alpha: 1 }\n });\n }\n else {\n throw new Error(\"unknown options.splashscreen_type: \" + options.splashscreen_type);\n }\n _f.label = 3;\n case 3: return [4 /*yield*/, sharpSrc.toBuffer()];\n case 4:\n data = _f.sent();\n _a = [];\n for (_b in options)\n _a.push(_b);\n _i = 0;\n _f.label = 5;\n case 5:\n if (!(_i < _a.length)) return [3 /*break*/, 11];\n optionKey = _a[_i];\n option = options[String(optionKey)];\n _c = [];\n for (_d in option.sizes)\n _c.push(_d);\n _e = 0;\n _f.label = 6;\n case 6:\n if (!(_e < _c.length)) return [3 /*break*/, 10];\n sizeKey = _c[_e];\n size = option.sizes[String(sizeKey)];\n if (!option.splash) return [3 /*break*/, 9];\n dest = \"\" + target + path_1.default.sep + option.folder;\n return [4 /*yield*/, fs_extra_1.ensureDir(dest)];\n case 7:\n _f.sent();\n if (option.infix === true) {\n output = \"\" + dest + path_1.default.sep + option.prefix + size + \"x\" + size + option.suffix;\n }\n else {\n output = \"\" + dest + path_1.default.sep + option.prefix + option.suffix;\n }\n pvar = [output, size];\n sharpData = sharp_1.default(data);\n sharpData = sharpData.resize(pvar[1][0], pvar[1][1]);\n return [4 /*yield*/, sharpData.toFile(pvar[0])];\n case 8:\n _f.sent();\n _f.label = 9;\n case 9:\n _e++;\n return [3 /*break*/, 6];\n case 10:\n _i++;\n return [3 /*break*/, 5];\n case 11: return [2 /*return*/];\n }\n });\n });\n },\n /**\n * Minifies a set of images\n *\n * @param {string} target - image location\n * @param {object} options - where to drop the images\n * @param {string} strategy - which minify strategy to use\n * @param {string} mode - singlefile or batch\n */\n minify: function (target, \n // TODO: proper type for options\n options, strategy, mode) {\n return __awaiter(this, void 0, void 0, function () {\n var cmd, minify, minifier, _a, folders, _b, _c, _i, n, folder;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n minify = settings.options.minify;\n if (!minify.available.find(function (x) { return x === strategy; })) {\n strategy = minify.type;\n }\n switch (strategy) {\n case 'optipng':\n cmd = imagemin_optipng_1.default(minify.optipngOptions);\n break;\n case 'zopfli':\n cmd = imagemin_zopfli_1.default(minify.zopfliOptions);\n break;\n default:\n throw new Error('unknown strategy' + strategy);\n }\n minifier = function (pvar, cmd) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, imagemin_1.default([pvar[0]], {\n destination: pvar[1],\n plugins: [cmd]\n }).catch(function (err) {\n warn(err);\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); };\n _a = mode;\n switch (_a) {\n case 'singlefile': return [3 /*break*/, 1];\n case 'batch': return [3 /*break*/, 3];\n }\n return [3 /*break*/, 8];\n case 1: return [4 /*yield*/, minifier([target, path_1.default.dirname(target)], cmd)];\n case 2:\n _d.sent();\n return [3 /*break*/, 9];\n case 3:\n folders = uniqueFolders(options);\n _b = [];\n for (_c in folders)\n _b.push(_c);\n _i = 0;\n _d.label = 4;\n case 4:\n if (!(_i < _b.length)) return [3 /*break*/, 7];\n n = _b[_i];\n folder = folders[Number(n)];\n log('batch minify:' + String(folder));\n return [4 /*yield*/, minifier([\n \"\" + target + path_1.default.sep + folder + path_1.default.sep + \"*.png\",\n \"\" + target + path_1.default.sep + folder\n ], cmd)];\n case 5:\n _d.sent();\n _d.label = 6;\n case 6:\n _i++;\n return [3 /*break*/, 4];\n case 7: return [3 /*break*/, 9];\n case 8:\n warn('[ERROR] Minify mode must be one of [ singlefile | batch]');\n process.exit(1);\n _d.label = 9;\n case 9: return [2 /*return*/, 'minified'];\n }\n });\n });\n },\n /**\n * Creates special icns and ico filetypes\n *\n * @param {string} src - image location\n * @param {string} target - where to drop the images\n * @param {object} options\n * @param {string} strategy\n */\n icns: function (src, target, \n // TODO: proper type for options\n options, strategy) {\n return __awaiter(this, void 0, void 0, function () {\n var sharpSrc, buf, out, out2, err_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n if (!image) {\n process.exit(1);\n }\n return [4 /*yield*/, this.validate(src, target)];\n case 1:\n _a.sent();\n sharpSrc = sharp_1.default(src);\n return [4 /*yield*/, sharpSrc.toBuffer()];\n case 2:\n buf = _a.sent();\n out = png2icons.createICNS(buf, png2icons.BICUBIC, 0);\n if (out === null) {\n throw new Error('Failed to create icon.icns');\n }\n fs_extra_1.ensureFileSync(path_1.default.join(target, '/icon.icns'));\n fs_extra_1.writeFileSync(path_1.default.join(target, '/icon.icns'), out);\n out2 = png2icons.createICO(buf, png2icons.BICUBIC, 0, true);\n if (out2 === null) {\n throw new Error('Failed to create icon.ico');\n }\n fs_extra_1.ensureFileSync(path_1.default.join(target, '/icon.ico'));\n fs_extra_1.writeFileSync(path_1.default.join(target, '/icon.ico'), out2);\n return [3 /*break*/, 4];\n case 3:\n err_3 = _a.sent();\n console.error(err_3);\n throw err_3;\n case 4: return [2 /*return*/];\n }\n });\n });\n }\n});\n/* eslint-enable @typescript-eslint/restrict-template-expressions */\nif (typeof exports !== 'undefined') {\n if (typeof module !== 'undefined' && module.exports) {\n exports = module.exports = tauricon;\n }\n exports.tauricon = tauricon;\n}\n","\"use strict\";\n// Copyright 2019-2021 Tauri Programme within The Commons Conservancy\n// SPDX-License-Identifier: Apache-2.0\n// SPDX-License-Identifier: MIT\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolve = exports.tauriDir = exports.appDir = void 0;\nvar fs_1 = require(\"fs\");\nvar path_1 = require(\"path\");\nvar logger_1 = __importDefault(require(\"./logger\"));\nvar chalk_1 = __importDefault(require(\"chalk\"));\nvar warn = logger_1.default('tauri', chalk_1.default.red);\nfunction resolvePath(basePath, dir) {\n return dir && path_1.isAbsolute(dir) ? dir : path_1.resolve(basePath, dir);\n}\nvar getAppDir = function () {\n var dir = process.cwd();\n var count = 0;\n // only go up three folders max\n while (dir.length > 0 && !dir.endsWith(path_1.sep) && count <= 2) {\n if (fs_1.existsSync(path_1.join(dir, 'src-tauri', 'tauri.conf.json'))) {\n return dir;\n }\n count++;\n dir = path_1.normalize(path_1.join(dir, '..'));\n }\n warn(\"Couldn't find recognize the current folder as a part of a Tauri project\");\n process.exit(1);\n};\nvar appDir = getAppDir();\nexports.appDir = appDir;\nvar tauriDir = path_1.resolve(appDir, 'src-tauri');\nexports.tauriDir = tauriDir;\nvar resolveDir = {\n app: function (dir) { return resolvePath(appDir, dir); },\n tauri: function (dir) { return resolvePath(tauriDir, dir); }\n};\nexports.resolve = resolveDir;\n","\"use strict\";\n// Copyright 2019-2021 Tauri Programme within The Commons Conservancy\n// SPDX-License-Identifier: Apache-2.0\n// SPDX-License-Identifier: MIT\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar chalk_1 = __importDefault(require(\"chalk\"));\nvar ms_1 = __importDefault(require(\"ms\"));\nvar prevTime;\nexports.default = (function (banner, color) {\n if (color === void 0) { color = chalk_1.default.green; }\n return function (msg) {\n var curr = +new Date();\n var diff = curr - (prevTime || curr);\n prevTime = curr;\n if (msg) {\n console.log(\n // TODO: proper typings for color and banner\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-call\n \" \" + color(String(banner)) + \" \" + msg + \" \" + chalk_1.default.green(\"+\" + ms_1.default(diff)));\n }\n else {\n console.log();\n }\n };\n});\n","\"use strict\";\n// Copyright 2019-2021 Tauri Programme within The Commons Conservancy\n// SPDX-License-Identifier: Apache-2.0\n// SPDX-License-Identifier: MIT\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.options = void 0;\nexports.options = {\n // folder determines in which path to drop the generated file\n // prefix is the first part of the generated file's name\n // infix adds e.g. '44x44' based on the size in sizes to the generated file's name\n // suffix adds a file-ending to the generated file's name\n // sizes determines the pixel width and height to use\n background_color: '#000074',\n theme_color: '#02aa9b',\n sharp: 'kernel: sharp.kernel.lanczos3',\n minify: {\n batch: false,\n overwrite: true,\n available: ['optipng', 'zopfli'],\n type: 'optipng',\n optipngOptions: {\n optimizationLevel: 4,\n paletteReduction: true\n },\n zopfliOptions: {\n transparent: true,\n more: true\n }\n },\n splash_type: 'generate',\n tauri: {\n linux: {\n folder: '.',\n prefix: '',\n infix: true,\n suffix: '.png',\n sizes: [32, 128]\n },\n linux_2x: {\n folder: '.',\n prefix: '128x128@2x',\n infix: false,\n suffix: '.png',\n sizes: [256]\n },\n defaults: {\n folder: '.',\n prefix: 'icon',\n infix: false,\n suffix: '.png',\n sizes: [512]\n },\n appx_logo: {\n folder: '.',\n prefix: 'StoreLogo',\n infix: false,\n suffix: '.png',\n sizes: [50]\n },\n appx_square: {\n folder: '.',\n prefix: 'Square',\n infix: true,\n suffix: 'Logo.png',\n sizes: [30, 44, 71, 89, 107, 142, 150, 284, 310]\n }\n // todo: look at capacitor and cordova for insight into what icons\n // we need for those distribution targets\n }\n};\n","module.exports = require(\"chalk\");","module.exports = require(\"fs\");","module.exports = require(\"fs-extra\");","module.exports = require(\"imagemin-optipng\");","module.exports = require(\"imagemin-zopfli\");","module.exports = require(\"ms\");","module.exports = require(\"path\");","module.exports = require(\"png2icons\");","module.exports = require(\"read-chunk\");","module.exports = require(\"sharp\");","module.exports = require(\"strtok3\");","module.exports = require(\"strtok3/lib/core\");","module.exports = require(\"token-types\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(333);\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.tauri=t():e.tauri=t()}(this,(function(){return e={210:e=>{e.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"}}},632:function(e,t,r){"use strict";var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function s(e){try{u(n.next(e))}catch(e){o(e)}}function a(e){try{u(n.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}u((n=n.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((i=(i=s.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.downloadRustup=t.downloadCli=void 0;var s=o(r(413)),a=r(669),u=o(r(747)),c=o(r(301)),l=o(r(622)),p=a.promisify(s.default.pipeline),d=r(210),f={};function h(e,t,r){return n(this,void 0,void 0,(function(){var n,o;return i(this,(function(i){switch(i.label){case 0:return n="https://github.com/tauri-apps/binary-releases/releases/download/"+e+"/"+t,o=function(){try{n in f||u.default.unlinkSync(r)}finally{process.exit()}},process.on("exit",o),process.on("SIGINT",o),process.on("SIGTERM",o),process.on("SIGHUP",o),process.on("SIGBREAK",o),[4,p(c.default.stream(n),u.default.createWriteStream(r)).catch((function(e){try{u.default.unlinkSync(r)}catch(e){}throw e}))];case 1:return i.sent(),f[n]=!0,u.default.chmodSync(r,448),console.log("Download Complete"),[2]}}))}))}t.downloadCli=function(){return n(this,void 0,void 0,(function(){var e,t,r,n;return i(this,(function(i){switch(i.label){case 0:if(e=d.package.version,"win32"===(t=process.platform))t="windows";else if("linux"===t)t="linux";else{if("darwin"!==t)throw Error("Unsupported platform");t="macos"}return r="windows"===t?".exe":"",n=l.default.join(__dirname,"../../bin/tauri-cli"+r),console.log("Downloading Rust CLI..."),[4,h("tauri-cli-v"+e,"tauri-cli_"+t+r,n)];case 1:return i.sent(),[2]}}))}))},t.downloadRustup=function(){return n(this,void 0,void 0,(function(){var e;return i(this,(function(t){switch(t.label){case 0:return e="win32"===process.platform?"rustup-init.exe":"rustup-init.sh",console.log("Downloading Rustup..."),[4,h("rustup",e,l.default.join(__dirname,"../../bin/"+e))];case 1:return[2,t.sent()]}}))}))}},747:e=>{"use strict";e.exports=require("fs")},301:e=>{"use strict";e.exports=require("got")},622:e=>{"use strict";e.exports=require("path")},413:e=>{"use strict";e.exports=require("stream")},669:e=>{"use strict";e.exports=require("util")}},t={},function r(n){var i=t[n];if(void 0!==i)return i.exports;var o=t[n]={exports:{}};return e[n].call(o.exports,o,o.exports,r),o.exports}(632);var e,t}));
|
|
2
|
-
//# sourceMappingURL=download-binary.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://tauri/webpack/universalModuleDefinition","webpack://tauri/../cli.rs/Cargo.toml","webpack://tauri/./src/helpers/download-binary.ts","webpack://tauri/external \"fs\"","webpack://tauri/external \"got\"","webpack://tauri/external \"path\"","webpack://tauri/external \"stream\"","webpack://tauri/external \"util\"","webpack://tauri/webpack/bootstrap","webpack://tauri/webpack/startup"],"names":["root","factory","exports","module","define","amd","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","n","v","op","TypeError","call","pop","length","push","__importDefault","mod","__esModule","Object","defineProperty","downloadRustup","downloadCli","stream_1","util_1","fs_1","got_1","path_1","pipeline","promisify","default","tauriCliManifest","downloads","downloadBinaryRelease","tag","asset","outPath","url","removeDownloadedCliIfNeeded","_a","unlinkSync","process","exit","on","stream","createWriteStream","catch","chmodSync","console","log","version","platform","extension","package","Error","join","__dirname","assetName","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__"],"mappings":"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","file":"helpers/download-binary.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"tauri\"] = factory();\n\telse\n\t\troot[\"tauri\"] = factory();\n})(this, function() {\nreturn ","module.exports = {\n\t\"workspace\": {},\n\t\"package\": {\n\t\t\"name\": \"tauri-cli\",\n\t\t\"version\": \"1.0.0-beta.5\",\n\t\t\"authors\": [\n\t\t\t\"Tauri Programme within The Commons Conservancy\"\n\t\t],\n\t\t\"edition\": \"2018\",\n\t\t\"categories\": [\n\t\t\t\"gui\",\n\t\t\t\"web-programming\"\n\t\t],\n\t\t\"license\": \"Apache-2.0 OR MIT\",\n\t\t\"homepage\": \"https://tauri.studio\",\n\t\t\"repository\": \"https://github.com/tauri-apps/tauri\",\n\t\t\"description\": \"Command line interface for building Tauri apps\",\n\t\t\"include\": [\n\t\t\t\"src/\",\n\t\t\t\"/templates\",\n\t\t\t\"MergeModules/\",\n\t\t\t\"*.json\",\n\t\t\t\"*.rs\"\n\t\t]\n\t},\n\t\"bin\": [\n\t\t{\n\t\t\t\"name\": \"cargo-tauri\",\n\t\t\t\"path\": \"src/main.rs\"\n\t\t}\n\t],\n\t\"dependencies\": {\n\t\t\"clap\": {\n\t\t\t\"version\": \"3.0.0-beta.2\",\n\t\t\t\"features\": [\n\t\t\t\t\"yaml\"\n\t\t\t]\n\t\t},\n\t\t\"anyhow\": \"1.0\",\n\t\t\"tauri-bundler\": {\n\t\t\t\"version\": \"1.0.0-beta.3\",\n\t\t\t\"path\": \"../bundler\"\n\t\t},\n\t\t\"colored\": \"2.0\",\n\t\t\"once_cell\": \"1.8\",\n\t\t\"serde\": {\n\t\t\t\"version\": \"1.0\",\n\t\t\t\"features\": [\n\t\t\t\t\"derive\"\n\t\t\t]\n\t\t},\n\t\t\"serde_json\": \"1.0\",\n\t\t\"serde_with\": \"1.9\",\n\t\t\"notify\": \"4.0\",\n\t\t\"shared_child\": \"0.3\",\n\t\t\"toml_edit\": \"0.2\",\n\t\t\"json-patch\": \"0.2\",\n\t\t\"schemars\": \"0.8\",\n\t\t\"toml\": \"0.5\",\n\t\t\"valico\": \"3.6\",\n\t\t\"handlebars\": \"4.1\",\n\t\t\"include_dir\": \"0.6\",\n\t\t\"minisign\": \"0.6\",\n\t\t\"base64\": \"0.13.0\",\n\t\t\"ureq\": \"2.1\",\n\t\t\"os_info\": \"3.0\",\n\t\t\"semver\": \"1.0\",\n\t\t\"regex\": \"1.5\",\n\t\t\"lazy_static\": \"1\",\n\t\t\"libc\": \"0.2\",\n\t\t\"terminal_size\": \"0.1\",\n\t\t\"unicode-width\": \"0.1\",\n\t\t\"tempfile\": \"3\",\n\t\t\"zeroize\": \"1.3\"\n\t},\n\t\"target\": {\n\t\t\"cfg(windows)\": {\n\t\t\t\"dependencies\": {\n\t\t\t\t\"winapi\": {\n\t\t\t\t\t\"version\": \"0.3\",\n\t\t\t\t\t\"features\": [\n\t\t\t\t\t\t\"winbase\",\n\t\t\t\t\t\t\"winuser\",\n\t\t\t\t\t\t\"consoleapi\",\n\t\t\t\t\t\t\"processenv\",\n\t\t\t\t\t\t\"wincon\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"encode_unicode\": \"0.3\"\n\t\t\t}\n\t\t},\n\t\t\"cfg(target_os = \\\"linux\\\")\": {\n\t\t\t\"dependencies\": {\n\t\t\t\t\"heck\": \"0.3\"\n\t\t\t}\n\t\t}\n\t},\n\t\"build-dependencies\": {\n\t\t\"schemars\": \"0.8\",\n\t\t\"serde\": {\n\t\t\t\"version\": \"1.0\",\n\t\t\t\"features\": [\n\t\t\t\t\"derive\"\n\t\t\t]\n\t\t},\n\t\t\"serde_json\": \"1.0\",\n\t\t\"serde_with\": \"1.9\"\n\t}\n}","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.downloadRustup = exports.downloadCli = void 0;\nvar stream_1 = __importDefault(require(\"stream\"));\nvar util_1 = require(\"util\");\nvar fs_1 = __importDefault(require(\"fs\"));\nvar got_1 = __importDefault(require(\"got\"));\nvar path_1 = __importDefault(require(\"path\"));\nvar pipeline = util_1.promisify(stream_1.default.pipeline);\n// Webpack reads the file at build-time, so this becomes a static var\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-member-access\nvar tauriCliManifest = require('../../../cli.rs/Cargo.toml');\nvar downloads = {};\nfunction downloadBinaryRelease(tag, asset, outPath) {\n return __awaiter(this, void 0, void 0, function () {\n var url, removeDownloadedCliIfNeeded;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n url = \"https://github.com/tauri-apps/binary-releases/releases/download/\" + tag + \"/\" + asset;\n removeDownloadedCliIfNeeded = function () {\n try {\n if (!(url in downloads)) {\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n fs_1.default.unlinkSync(outPath);\n }\n }\n finally {\n process.exit();\n }\n };\n // on exit, we remove the `tauri-cli` file if the download didn't complete\n process.on('exit', removeDownloadedCliIfNeeded);\n process.on('SIGINT', removeDownloadedCliIfNeeded);\n process.on('SIGTERM', removeDownloadedCliIfNeeded);\n process.on('SIGHUP', removeDownloadedCliIfNeeded);\n process.on('SIGBREAK', removeDownloadedCliIfNeeded);\n // TODO: Check hash of download\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, security/detect-non-literal-fs-filename\n return [4 /*yield*/, pipeline(got_1.default.stream(url), fs_1.default.createWriteStream(outPath)).catch(function (e) {\n try {\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n fs_1.default.unlinkSync(outPath);\n }\n catch (_a) { }\n throw e;\n })\n // eslint-disable-next-line security/detect-object-injection\n ];\n case 1:\n // TODO: Check hash of download\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, security/detect-non-literal-fs-filename\n _a.sent();\n // eslint-disable-next-line security/detect-object-injection\n downloads[url] = true;\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n fs_1.default.chmodSync(outPath, 448);\n console.log('Download Complete');\n return [2 /*return*/];\n }\n });\n });\n}\nfunction downloadCli() {\n return __awaiter(this, void 0, void 0, function () {\n var version, platform, extension, outPath;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n version = tauriCliManifest.package.version;\n platform = process.platform;\n if (platform === 'win32') {\n platform = 'windows';\n }\n else if (platform === 'linux') {\n platform = 'linux';\n }\n else if (platform === 'darwin') {\n platform = 'macos';\n }\n else {\n throw Error('Unsupported platform');\n }\n extension = platform === 'windows' ? '.exe' : '';\n outPath = path_1.default.join(__dirname, \"../../bin/tauri-cli\" + extension);\n console.log('Downloading Rust CLI...');\n return [4 /*yield*/, downloadBinaryRelease(\"tauri-cli-v\" + version, \"tauri-cli_\" + platform + extension, outPath)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n}\nexports.downloadCli = downloadCli;\nfunction downloadRustup() {\n return __awaiter(this, void 0, void 0, function () {\n var assetName;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n assetName = process.platform === 'win32' ? 'rustup-init.exe' : 'rustup-init.sh';\n console.log('Downloading Rustup...');\n return [4 /*yield*/, downloadBinaryRelease('rustup', assetName, path_1.default.join(__dirname, \"../../bin/\" + assetName))];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n}\nexports.downloadRustup = downloadRustup;\n","module.exports = require(\"fs\");","module.exports = require(\"got\");","module.exports = require(\"path\");","module.exports = require(\"stream\");","module.exports = require(\"util\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(632);\n"],"sourceRoot":""}
|
package/dist/helpers/rust-cli.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.tauri=t():e.tauri=t()}(this,(function(){return e={210:e=>{e.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"}}},632:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((i=(i=s.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.downloadRustup=t.downloadCli=void 0;var s=o(n(413)),a=n(669),u=o(n(747)),c=o(n(301)),l=o(n(622)),d=a.promisify(s.default.pipeline),p=n(210),f={};function h(e,t,n){return r(this,void 0,void 0,(function(){var r,o;return i(this,(function(i){switch(i.label){case 0:return r="https://github.com/tauri-apps/binary-releases/releases/download/"+e+"/"+t,o=function(){try{r in f||u.default.unlinkSync(n)}finally{process.exit()}},process.on("exit",o),process.on("SIGINT",o),process.on("SIGTERM",o),process.on("SIGHUP",o),process.on("SIGBREAK",o),[4,d(c.default.stream(r),u.default.createWriteStream(n)).catch((function(e){try{u.default.unlinkSync(n)}catch(e){}throw e}))];case 1:return i.sent(),f[r]=!0,u.default.chmodSync(n,448),console.log("Download Complete"),[2]}}))}))}t.downloadCli=function(){return r(this,void 0,void 0,(function(){var e,t,n,r;return i(this,(function(i){switch(i.label){case 0:if(e=p.package.version,"win32"===(t=process.platform))t="windows";else if("linux"===t)t="linux";else{if("darwin"!==t)throw Error("Unsupported platform");t="macos"}return n="windows"===t?".exe":"",r=l.default.join(__dirname,"../../bin/tauri-cli"+n),console.log("Downloading Rust CLI..."),[4,h("tauri-cli-v"+e,"tauri-cli_"+t+n,r)];case 1:return i.sent(),[2]}}))}))},t.downloadRustup=function(){return r(this,void 0,void 0,(function(){var e;return i(this,(function(t){switch(t.label){case 0:return e="win32"===process.platform?"rustup-init.exe":"rustup-init.sh",console.log("Downloading Rustup..."),[4,h("rustup",e,l.default.join(__dirname,"../../bin/"+e))];case 1:return[2,t.sent()]}}))}))}},976:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i,o=r(n(242)),s=r(n(517));t.default=function(e,t){return void 0===t&&(t=o.default.green),function(n){var r=+new Date,a=r-(i||r);i=r,n?console.log(" "+t(String(e))+" "+n+" "+o.default.green("+"+s.default(a))):console.log()}}},889:function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{u(r.next(e))}catch(e){o(e)}}function a(e){try{u(r.throw(e))}catch(e){o(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((r=r.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!((i=(i=s.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}},o=this&&this.__spreadArray||function(e,t){for(var n=0,r=t.length,i=e.length;n<r;n++,i++)e[i]=t[n];return e};Object.defineProperty(t,"__esModule",{value:!0}),t.runOnRustCli=void 0;var s=n(747),a=n(622),u=n(71),c=n(632);t.runOnRustCli=function(e,t){return r(this,void 0,void 0,(function(){var r,l,d,p,f,h,w,v,b;return i(this,(function(i){switch(i.label){case 0:return r=a.resolve(__dirname,"../.."),l=a.join(r,"bin/tauri-cli"+("win32"===process.platform?".exe":"")),h=new Promise((function(e,t){d=e,p=function(){return t(new Error)}})),w=function(e,t){0===e?d():p()},s.existsSync(l)?(f=u.spawn(l,o(["tauri",e],t),process.cwd(),w),[3,4]):[3,1];case 1:return[4,c.downloadCli()];case 2:return i.sent(),f=u.spawn(l,o(["tauri",e],t),process.cwd(),w),[3,4];case 3:s.existsSync(a.resolve(r,"../bundler"))?(v=a.resolve(r,"../cli.rs"),u.spawnSync("cargo",["build","--release"],v),b=a.resolve(r,"../cli.rs/target/release/cargo-tauri"),f=u.spawn(b,o(["tauri",e],t),process.cwd(),w)):(u.spawnSync("cargo",["install","--root",r,"tauri-cli","--version",n(210).package.version],process.cwd()),f=u.spawn(l,o(["tauri",e],t),process.cwd(),w)),i.label=4;case 4:return[2,{pid:f,promise:h}]}}))}))}},71:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.spawnSync=t.spawn=void 0;var i=r(n(793)),o=r(n(976)),s=r(n(242)),a=o.default("app:spawn"),u=o.default("app:spawn",s.default.red);t.spawn=function(e,t,n,r){var o;a('Running "'+e+" "+t.join(" ")+'"'),a();var s=i.default(e,t,{stdio:"inherit",cwd:n,env:process.env});return s.on("close",(function(t){var n;a(),t&&a('Command "'+e+'" failed with exit code: '+t),r&&r(null!=t?t:0,null!==(n=s.pid)&&void 0!==n?n:0)})),null!==(o=s.pid)&&void 0!==o?o:0},t.spawnSync=function(e,t,n,r){a('[sync] Running "'+e+" "+t.join(" ")+'"'),a();var o=i.default.sync(e,t,{stdio:"inherit",cwd:n});(o.status||o.error)&&(u(),u('⚠️ Command "'+e+'" failed with exit code: '+o.status),null===o.status&&u('⚠️ Please globally install "'+e+'"'),r&&r(),process.exit(1))}},242:e=>{"use strict";e.exports=require("chalk")},793:e=>{"use strict";e.exports=require("cross-spawn")},747:e=>{"use strict";e.exports=require("fs")},301:e=>{"use strict";e.exports=require("got")},517:e=>{"use strict";e.exports=require("ms")},622:e=>{"use strict";e.exports=require("path")},413:e=>{"use strict";e.exports=require("stream")},669:e=>{"use strict";e.exports=require("util")}},t={},function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}(889);var e,t}));
|
|
2
|
-
//# sourceMappingURL=rust-cli.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://tauri/webpack/universalModuleDefinition","webpack://tauri/../cli.rs/Cargo.toml","webpack://tauri/./src/helpers/download-binary.ts","webpack://tauri/./src/helpers/logger.ts","webpack://tauri/./src/helpers/rust-cli.ts","webpack://tauri/./src/helpers/spawn.ts","webpack://tauri/external \"chalk\"","webpack://tauri/external \"cross-spawn\"","webpack://tauri/external \"fs\"","webpack://tauri/external \"got\"","webpack://tauri/external \"ms\"","webpack://tauri/external \"path\"","webpack://tauri/external \"stream\"","webpack://tauri/external \"util\"","webpack://tauri/webpack/bootstrap","webpack://tauri/webpack/startup"],"names":["root","factory","exports","module","define","amd","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","n","v","op","TypeError","call","pop","length","push","__importDefault","mod","__esModule","Object","defineProperty","downloadRustup","downloadCli","stream_1","util_1","fs_1","got_1","path_1","pipeline","promisify","default","tauriCliManifest","downloads","downloadBinaryRelease","tag","asset","outPath","url","removeDownloadedCliIfNeeded","_a","unlinkSync","process","exit","on","stream","createWriteStream","catch","chmodSync","console","log","version","platform","extension","package","Error","join","__dirname","assetName","prevTime","chalk_1","ms_1","banner","color","green","msg","curr","Date","diff","String","__spreadArray","to","from","i","il","j","runOnRustCli","spawn_1","download_binary_1","command","args","targetPath","targetCliPath","resolveCb","rejectCb","pid","promise","onClose","cliPath","localCliPath","code","existsSync","spawn","cwd","spawnSync","cross_spawn_1","logger_1","warn","red","cmd","params","runner","stdio","env","onFail","sync","status","error","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__"],"mappings":"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","file":"helpers/rust-cli.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"tauri\"] = factory();\n\telse\n\t\troot[\"tauri\"] = factory();\n})(this, function() {\nreturn ","module.exports = {\n\t\"workspace\": {},\n\t\"package\": {\n\t\t\"name\": \"tauri-cli\",\n\t\t\"version\": \"1.0.0-beta.5\",\n\t\t\"authors\": [\n\t\t\t\"Tauri Programme within The Commons Conservancy\"\n\t\t],\n\t\t\"edition\": \"2018\",\n\t\t\"categories\": [\n\t\t\t\"gui\",\n\t\t\t\"web-programming\"\n\t\t],\n\t\t\"license\": \"Apache-2.0 OR MIT\",\n\t\t\"homepage\": \"https://tauri.studio\",\n\t\t\"repository\": \"https://github.com/tauri-apps/tauri\",\n\t\t\"description\": \"Command line interface for building Tauri apps\",\n\t\t\"include\": [\n\t\t\t\"src/\",\n\t\t\t\"/templates\",\n\t\t\t\"MergeModules/\",\n\t\t\t\"*.json\",\n\t\t\t\"*.rs\"\n\t\t]\n\t},\n\t\"bin\": [\n\t\t{\n\t\t\t\"name\": \"cargo-tauri\",\n\t\t\t\"path\": \"src/main.rs\"\n\t\t}\n\t],\n\t\"dependencies\": {\n\t\t\"clap\": {\n\t\t\t\"version\": \"3.0.0-beta.2\",\n\t\t\t\"features\": [\n\t\t\t\t\"yaml\"\n\t\t\t]\n\t\t},\n\t\t\"anyhow\": \"1.0\",\n\t\t\"tauri-bundler\": {\n\t\t\t\"version\": \"1.0.0-beta.3\",\n\t\t\t\"path\": \"../bundler\"\n\t\t},\n\t\t\"colored\": \"2.0\",\n\t\t\"once_cell\": \"1.8\",\n\t\t\"serde\": {\n\t\t\t\"version\": \"1.0\",\n\t\t\t\"features\": [\n\t\t\t\t\"derive\"\n\t\t\t]\n\t\t},\n\t\t\"serde_json\": \"1.0\",\n\t\t\"serde_with\": \"1.9\",\n\t\t\"notify\": \"4.0\",\n\t\t\"shared_child\": \"0.3\",\n\t\t\"toml_edit\": \"0.2\",\n\t\t\"json-patch\": \"0.2\",\n\t\t\"schemars\": \"0.8\",\n\t\t\"toml\": \"0.5\",\n\t\t\"valico\": \"3.6\",\n\t\t\"handlebars\": \"4.1\",\n\t\t\"include_dir\": \"0.6\",\n\t\t\"minisign\": \"0.6\",\n\t\t\"base64\": \"0.13.0\",\n\t\t\"ureq\": \"2.1\",\n\t\t\"os_info\": \"3.0\",\n\t\t\"semver\": \"1.0\",\n\t\t\"regex\": \"1.5\",\n\t\t\"lazy_static\": \"1\",\n\t\t\"libc\": \"0.2\",\n\t\t\"terminal_size\": \"0.1\",\n\t\t\"unicode-width\": \"0.1\",\n\t\t\"tempfile\": \"3\",\n\t\t\"zeroize\": \"1.3\"\n\t},\n\t\"target\": {\n\t\t\"cfg(windows)\": {\n\t\t\t\"dependencies\": {\n\t\t\t\t\"winapi\": {\n\t\t\t\t\t\"version\": \"0.3\",\n\t\t\t\t\t\"features\": [\n\t\t\t\t\t\t\"winbase\",\n\t\t\t\t\t\t\"winuser\",\n\t\t\t\t\t\t\"consoleapi\",\n\t\t\t\t\t\t\"processenv\",\n\t\t\t\t\t\t\"wincon\"\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\t\"encode_unicode\": \"0.3\"\n\t\t\t}\n\t\t},\n\t\t\"cfg(target_os = \\\"linux\\\")\": {\n\t\t\t\"dependencies\": {\n\t\t\t\t\"heck\": \"0.3\"\n\t\t\t}\n\t\t}\n\t},\n\t\"build-dependencies\": {\n\t\t\"schemars\": \"0.8\",\n\t\t\"serde\": {\n\t\t\t\"version\": \"1.0\",\n\t\t\t\"features\": [\n\t\t\t\t\"derive\"\n\t\t\t]\n\t\t},\n\t\t\"serde_json\": \"1.0\",\n\t\t\"serde_with\": \"1.9\"\n\t}\n}","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.downloadRustup = exports.downloadCli = void 0;\nvar stream_1 = __importDefault(require(\"stream\"));\nvar util_1 = require(\"util\");\nvar fs_1 = __importDefault(require(\"fs\"));\nvar got_1 = __importDefault(require(\"got\"));\nvar path_1 = __importDefault(require(\"path\"));\nvar pipeline = util_1.promisify(stream_1.default.pipeline);\n// Webpack reads the file at build-time, so this becomes a static var\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-var-requires, @typescript-eslint/no-unsafe-member-access\nvar tauriCliManifest = require('../../../cli.rs/Cargo.toml');\nvar downloads = {};\nfunction downloadBinaryRelease(tag, asset, outPath) {\n return __awaiter(this, void 0, void 0, function () {\n var url, removeDownloadedCliIfNeeded;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n url = \"https://github.com/tauri-apps/binary-releases/releases/download/\" + tag + \"/\" + asset;\n removeDownloadedCliIfNeeded = function () {\n try {\n if (!(url in downloads)) {\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n fs_1.default.unlinkSync(outPath);\n }\n }\n finally {\n process.exit();\n }\n };\n // on exit, we remove the `tauri-cli` file if the download didn't complete\n process.on('exit', removeDownloadedCliIfNeeded);\n process.on('SIGINT', removeDownloadedCliIfNeeded);\n process.on('SIGTERM', removeDownloadedCliIfNeeded);\n process.on('SIGHUP', removeDownloadedCliIfNeeded);\n process.on('SIGBREAK', removeDownloadedCliIfNeeded);\n // TODO: Check hash of download\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, security/detect-non-literal-fs-filename\n return [4 /*yield*/, pipeline(got_1.default.stream(url), fs_1.default.createWriteStream(outPath)).catch(function (e) {\n try {\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n fs_1.default.unlinkSync(outPath);\n }\n catch (_a) { }\n throw e;\n })\n // eslint-disable-next-line security/detect-object-injection\n ];\n case 1:\n // TODO: Check hash of download\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, security/detect-non-literal-fs-filename\n _a.sent();\n // eslint-disable-next-line security/detect-object-injection\n downloads[url] = true;\n // eslint-disable-next-line security/detect-non-literal-fs-filename\n fs_1.default.chmodSync(outPath, 448);\n console.log('Download Complete');\n return [2 /*return*/];\n }\n });\n });\n}\nfunction downloadCli() {\n return __awaiter(this, void 0, void 0, function () {\n var version, platform, extension, outPath;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n version = tauriCliManifest.package.version;\n platform = process.platform;\n if (platform === 'win32') {\n platform = 'windows';\n }\n else if (platform === 'linux') {\n platform = 'linux';\n }\n else if (platform === 'darwin') {\n platform = 'macos';\n }\n else {\n throw Error('Unsupported platform');\n }\n extension = platform === 'windows' ? '.exe' : '';\n outPath = path_1.default.join(__dirname, \"../../bin/tauri-cli\" + extension);\n console.log('Downloading Rust CLI...');\n return [4 /*yield*/, downloadBinaryRelease(\"tauri-cli-v\" + version, \"tauri-cli_\" + platform + extension, outPath)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n}\nexports.downloadCli = downloadCli;\nfunction downloadRustup() {\n return __awaiter(this, void 0, void 0, function () {\n var assetName;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n assetName = process.platform === 'win32' ? 'rustup-init.exe' : 'rustup-init.sh';\n console.log('Downloading Rustup...');\n return [4 /*yield*/, downloadBinaryRelease('rustup', assetName, path_1.default.join(__dirname, \"../../bin/\" + assetName))];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n}\nexports.downloadRustup = downloadRustup;\n","\"use strict\";\n// Copyright 2019-2021 Tauri Programme within The Commons Conservancy\n// SPDX-License-Identifier: Apache-2.0\n// SPDX-License-Identifier: MIT\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar chalk_1 = __importDefault(require(\"chalk\"));\nvar ms_1 = __importDefault(require(\"ms\"));\nvar prevTime;\nexports.default = (function (banner, color) {\n if (color === void 0) { color = chalk_1.default.green; }\n return function (msg) {\n var curr = +new Date();\n var diff = curr - (prevTime || curr);\n prevTime = curr;\n if (msg) {\n console.log(\n // TODO: proper typings for color and banner\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-call\n \" \" + color(String(banner)) + \" \" + msg + \" \" + chalk_1.default.green(\"+\" + ms_1.default(diff)));\n }\n else {\n console.log();\n }\n };\n});\n","\"use strict\";\n// Copyright 2019-2021 Tauri Programme within The Commons Conservancy\n// SPDX-License-Identifier: Apache-2.0\n// SPDX-License-Identifier: MIT\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.runOnRustCli = void 0;\nvar fs_1 = require(\"fs\");\nvar path_1 = require(\"path\");\nvar spawn_1 = require(\"./spawn\");\nvar download_binary_1 = require(\"./download-binary\");\nvar currentTauriCliVersion = function () {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n var tauriCliManifest = \n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require('../../../cli.rs/Cargo.toml');\n return tauriCliManifest.package.version;\n};\nfunction runOnRustCli(command, args) {\n return __awaiter(this, void 0, void 0, function () {\n var targetPath, targetCliPath, resolveCb, rejectCb, pid, promise, onClose, cliPath, localCliPath;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n targetPath = path_1.resolve(__dirname, '../..');\n targetCliPath = path_1.join(targetPath, 'bin/tauri-cli' + (process.platform === 'win32' ? '.exe' : ''));\n promise = new Promise(function (resolve, reject) {\n resolveCb = resolve;\n rejectCb = function () { return reject(new Error()); };\n });\n onClose = function (code, pid) {\n if (code === 0) {\n resolveCb();\n }\n else {\n rejectCb();\n }\n };\n if (!fs_1.existsSync(targetCliPath)) return [3 /*break*/, 1];\n pid = spawn_1.spawn(targetCliPath, __spreadArray(['tauri', command], args), process.cwd(), onClose);\n return [3 /*break*/, 4];\n case 1:\n if (!(process.env.NODE_ENV === 'production')) return [3 /*break*/, 3];\n return [4 /*yield*/, download_binary_1.downloadCli()];\n case 2:\n _a.sent();\n pid = spawn_1.spawn(targetCliPath, __spreadArray(['tauri', command], args), process.cwd(), onClose);\n return [3 /*break*/, 4];\n case 3:\n if (fs_1.existsSync(path_1.resolve(targetPath, '../bundler'))) {\n cliPath = path_1.resolve(targetPath, '../cli.rs');\n spawn_1.spawnSync('cargo', ['build', '--release'], cliPath);\n localCliPath = path_1.resolve(targetPath, '../cli.rs/target/release/cargo-tauri');\n pid = spawn_1.spawn(localCliPath, __spreadArray(['tauri', command], args), process.cwd(), onClose);\n }\n else {\n spawn_1.spawnSync('cargo', [\n 'install',\n '--root',\n targetPath,\n 'tauri-cli',\n '--version',\n currentTauriCliVersion()\n ], process.cwd());\n pid = spawn_1.spawn(targetCliPath, __spreadArray(['tauri', command], args), process.cwd(), onClose);\n }\n _a.label = 4;\n case 4: return [2 /*return*/, { pid: pid, promise: promise }];\n }\n });\n });\n}\nexports.runOnRustCli = runOnRustCli;\n","\"use strict\";\n// Copyright 2019-2021 Tauri Programme within The Commons Conservancy\n// SPDX-License-Identifier: Apache-2.0\n// SPDX-License-Identifier: MIT\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.spawnSync = exports.spawn = void 0;\nvar cross_spawn_1 = __importDefault(require(\"cross-spawn\"));\nvar logger_1 = __importDefault(require(\"./logger\"));\nvar chalk_1 = __importDefault(require(\"chalk\"));\nvar log = logger_1.default('app:spawn');\nvar warn = logger_1.default('app:spawn', chalk_1.default.red);\n/*\n Returns pid, takes onClose\n */\nvar spawn = function (cmd, params, cwd, onClose) {\n var _a;\n log(\"Running \\\"\" + cmd + \" \" + params.join(' ') + \"\\\"\");\n log();\n // TODO: move to execa?\n var runner = cross_spawn_1.default(cmd, params, {\n stdio: 'inherit',\n cwd: cwd,\n env: process.env\n });\n runner.on('close', function (code) {\n var _a;\n log();\n if (code) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n log(\"Command \\\"\" + cmd + \"\\\" failed with exit code: \" + code);\n }\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n onClose && onClose(code !== null && code !== void 0 ? code : 0, (_a = runner.pid) !== null && _a !== void 0 ? _a : 0);\n });\n return (_a = runner.pid) !== null && _a !== void 0 ? _a : 0;\n};\nexports.spawn = spawn;\n/*\n Returns nothing, takes onFail\n */\nvar spawnSync = function (cmd, params, cwd, onFail) {\n log(\"[sync] Running \\\"\" + cmd + \" \" + params.join(' ') + \"\\\"\");\n log();\n var runner = cross_spawn_1.default.sync(cmd, params, {\n stdio: 'inherit',\n cwd: cwd\n });\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n if (runner.status || runner.error) {\n warn();\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n warn(\"\\u26A0\\uFE0F Command \\\"\" + cmd + \"\\\" failed with exit code: \" + runner.status);\n if (runner.status === null) {\n warn(\"\\u26A0\\uFE0F Please globally install \\\"\" + cmd + \"\\\"\");\n }\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n onFail && onFail();\n process.exit(1);\n }\n};\nexports.spawnSync = spawnSync;\n","module.exports = require(\"chalk\");","module.exports = require(\"cross-spawn\");","module.exports = require(\"fs\");","module.exports = require(\"got\");","module.exports = require(\"ms\");","module.exports = require(\"path\");","module.exports = require(\"stream\");","module.exports = require(\"util\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(889);\n"],"sourceRoot":""}
|
package/dist/helpers/spawn.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.tauri=t():e.tauri=t()}(this,(function(){return(()=>{"use strict";var e={976:function(e,t,n){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r,i=o(n(242)),u=o(n(517));t.default=function(e,t){return void 0===t&&(t=i.default.green),function(n){var o=+new Date,a=o-(r||o);r=o,n?console.log(" "+t(String(e))+" "+n+" "+i.default.green("+"+u.default(a))):console.log()}}},71:function(e,t,n){var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.spawnSync=t.spawn=void 0;var r=o(n(793)),i=o(n(976)),u=o(n(242)),a=i.default("app:spawn"),s=i.default("app:spawn",u.default.red);t.spawn=function(e,t,n,o){var i;a('Running "'+e+" "+t.join(" ")+'"'),a();var u=r.default(e,t,{stdio:"inherit",cwd:n,env:process.env});return u.on("close",(function(t){var n;a(),t&&a('Command "'+e+'" failed with exit code: '+t),o&&o(null!=t?t:0,null!==(n=u.pid)&&void 0!==n?n:0)})),null!==(i=u.pid)&&void 0!==i?i:0},t.spawnSync=function(e,t,n,o){a('[sync] Running "'+e+" "+t.join(" ")+'"'),a();var i=r.default.sync(e,t,{stdio:"inherit",cwd:n});(i.status||i.error)&&(s(),s('⚠️ Command "'+e+'" failed with exit code: '+i.status),null===i.status&&s('⚠️ Please globally install "'+e+'"'),o&&o(),process.exit(1))}},242:e=>{e.exports=require("chalk")},793:e=>{e.exports=require("cross-spawn")},517:e=>{e.exports=require("ms")}},t={};return function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,n),i.exports}(71)})()}));
|
|
2
|
-
//# sourceMappingURL=spawn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://tauri/webpack/universalModuleDefinition","webpack://tauri/./src/helpers/logger.ts","webpack://tauri/./src/helpers/spawn.ts","webpack://tauri/external \"chalk\"","webpack://tauri/external \"cross-spawn\"","webpack://tauri/external \"ms\"","webpack://tauri/webpack/bootstrap","webpack://tauri/webpack/startup"],"names":["root","factory","exports","module","define","amd","this","__importDefault","mod","__esModule","Object","defineProperty","value","prevTime","chalk_1","ms_1","default","banner","color","green","msg","curr","Date","diff","console","log","String","spawnSync","spawn","cross_spawn_1","logger_1","warn","red","cmd","params","cwd","onClose","_a","join","runner","stdio","env","process","on","code","pid","onFail","sync","status","error","exit","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call"],"mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAe,MAAID,IAEnBD,EAAY,MAAIC,IARlB,CASGK,MAAM,WACT,M,8CCNA,IAAIC,EAAmBD,MAAQA,KAAKC,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAE,QAAWA,IAExDE,OAAOC,eAAeT,EAAS,aAAc,CAAEU,OAAO,IACtD,IAEIC,EAFAC,EAAUP,EAAgB,EAAQ,MAClCQ,EAAOR,EAAgB,EAAQ,MAEnCL,EAAQc,QAAU,SAAWC,EAAQC,GAEjC,YADc,IAAVA,IAAoBA,EAAQJ,EAAQE,QAAQG,OACzC,SAAUC,GACb,IAAIC,GAAQ,IAAIC,KACZC,EAAOF,GAAQR,GAAYQ,GAC/BR,EAAWQ,EACPD,EACAI,QAAQC,IAGR,IAAMP,EAAMQ,OAAOT,IAAW,IAAMG,EAAM,IAAMN,EAAQE,QAAQG,MAAM,IAAMJ,EAAKC,QAAQO,KAGzFC,QAAQC,S,mBCpBpB,IAAIlB,EAAmBD,MAAQA,KAAKC,iBAAoB,SAAUC,GAC9D,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAE,QAAWA,IAExDE,OAAOC,eAAeT,EAAS,aAAc,CAAEU,OAAO,IACtDV,EAAQyB,UAAYzB,EAAQ0B,WAAQ,EACpC,IAAIC,EAAgBtB,EAAgB,EAAQ,MACxCuB,EAAWvB,EAAgB,EAAQ,MACnCO,EAAUP,EAAgB,EAAQ,MAClCkB,EAAMK,EAASd,QAAQ,aACvBe,EAAOD,EAASd,QAAQ,YAAaF,EAAQE,QAAQgB,KA0BzD9B,EAAQ0B,MAtBI,SAAUK,EAAKC,EAAQC,EAAKC,GACpC,IAAIC,EACJZ,EAAI,YAAeQ,EAAM,IAAMC,EAAOI,KAAK,KAAO,KAClDb,IAEA,IAAIc,EAASV,EAAcb,QAAQiB,EAAKC,EAAQ,CAC5CM,MAAO,UACPL,IAAKA,EACLM,IAAKC,QAAQD,MAYjB,OAVAF,EAAOI,GAAG,SAAS,SAAUC,GACzB,IAAIP,EACJZ,IACImB,GAEAnB,EAAI,YAAeQ,EAAM,4BAA+BW,GAG5DR,GAAWA,EAAQQ,QAAmCA,EAAO,EAAyB,QAArBP,EAAKE,EAAOM,WAAwB,IAAPR,EAAgBA,EAAK,MAE1F,QAArBA,EAAKE,EAAOM,WAAwB,IAAPR,EAAgBA,EAAK,GA0B9DnC,EAAQyB,UApBQ,SAAUM,EAAKC,EAAQC,EAAKW,GACxCrB,EAAI,mBAAsBQ,EAAM,IAAMC,EAAOI,KAAK,KAAO,KACzDb,IACA,IAAIc,EAASV,EAAcb,QAAQ+B,KAAKd,EAAKC,EAAQ,CACjDM,MAAO,UACPL,IAAKA,KAGLI,EAAOS,QAAUT,EAAOU,SACxBlB,IAEAA,EAAK,gBAA6BE,EAAM,4BAA+BM,EAAOS,QACxD,OAAlBT,EAAOS,QACPjB,EAAK,gCAA6CE,EAAM,KAG5Da,GAAUA,IACVJ,QAAQQ,KAAK,M,QC5DrB/C,EAAOD,QAAUiD,QAAQ,U,QCAzBhD,EAAOD,QAAUiD,QAAQ,gB,QCAzBhD,EAAOD,QAAUiD,QAAQ,QCCrBC,EAA2B,G,OAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAarD,QAGrB,IAAIC,EAASiD,EAAyBE,GAAY,CAGjDpD,QAAS,IAOV,OAHAuD,EAAoBH,GAAUI,KAAKvD,EAAOD,QAASC,EAAQA,EAAOD,QAASmD,GAGpElD,EAAOD,QClBWmD,CAAoB,K","file":"helpers/spawn.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"tauri\"] = factory();\n\telse\n\t\troot[\"tauri\"] = factory();\n})(this, function() {\nreturn ","\"use strict\";\n// Copyright 2019-2021 Tauri Programme within The Commons Conservancy\n// SPDX-License-Identifier: Apache-2.0\n// SPDX-License-Identifier: MIT\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar chalk_1 = __importDefault(require(\"chalk\"));\nvar ms_1 = __importDefault(require(\"ms\"));\nvar prevTime;\nexports.default = (function (banner, color) {\n if (color === void 0) { color = chalk_1.default.green; }\n return function (msg) {\n var curr = +new Date();\n var diff = curr - (prevTime || curr);\n prevTime = curr;\n if (msg) {\n console.log(\n // TODO: proper typings for color and banner\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-call\n \" \" + color(String(banner)) + \" \" + msg + \" \" + chalk_1.default.green(\"+\" + ms_1.default(diff)));\n }\n else {\n console.log();\n }\n };\n});\n","\"use strict\";\n// Copyright 2019-2021 Tauri Programme within The Commons Conservancy\n// SPDX-License-Identifier: Apache-2.0\n// SPDX-License-Identifier: MIT\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.spawnSync = exports.spawn = void 0;\nvar cross_spawn_1 = __importDefault(require(\"cross-spawn\"));\nvar logger_1 = __importDefault(require(\"./logger\"));\nvar chalk_1 = __importDefault(require(\"chalk\"));\nvar log = logger_1.default('app:spawn');\nvar warn = logger_1.default('app:spawn', chalk_1.default.red);\n/*\n Returns pid, takes onClose\n */\nvar spawn = function (cmd, params, cwd, onClose) {\n var _a;\n log(\"Running \\\"\" + cmd + \" \" + params.join(' ') + \"\\\"\");\n log();\n // TODO: move to execa?\n var runner = cross_spawn_1.default(cmd, params, {\n stdio: 'inherit',\n cwd: cwd,\n env: process.env\n });\n runner.on('close', function (code) {\n var _a;\n log();\n if (code) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n log(\"Command \\\"\" + cmd + \"\\\" failed with exit code: \" + code);\n }\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n onClose && onClose(code !== null && code !== void 0 ? code : 0, (_a = runner.pid) !== null && _a !== void 0 ? _a : 0);\n });\n return (_a = runner.pid) !== null && _a !== void 0 ? _a : 0;\n};\nexports.spawn = spawn;\n/*\n Returns nothing, takes onFail\n */\nvar spawnSync = function (cmd, params, cwd, onFail) {\n log(\"[sync] Running \\\"\" + cmd + \" \" + params.join(' ') + \"\\\"\");\n log();\n var runner = cross_spawn_1.default.sync(cmd, params, {\n stdio: 'inherit',\n cwd: cwd\n });\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n if (runner.status || runner.error) {\n warn();\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n warn(\"\\u26A0\\uFE0F Command \\\"\" + cmd + \"\\\" failed with exit code: \" + runner.status);\n if (runner.status === null) {\n warn(\"\\u26A0\\uFE0F Please globally install \\\"\" + cmd + \"\\\"\");\n }\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n onFail && onFail();\n process.exit(1);\n }\n};\nexports.spawnSync = spawnSync;\n","module.exports = require(\"chalk\");","module.exports = require(\"cross-spawn\");","module.exports = require(\"ms\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(71);\n"],"sourceRoot":""}
|