grab-url 1.6.10 → 1.6.11
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin-compress.cjs.js","sources":["../packages/archiver-web/src/bin-compress.ts"],"sourcesContent":["import { parseArgs } from \"util\";\r\nimport * as fs from \"fs\";\r\nimport * as path from \"path\";\r\nimport { compress } from \"./index
|
|
1
|
+
{"version":3,"file":"bin-compress.cjs.js","sources":["../packages/archiver-web/src/bin-compress.ts"],"sourcesContent":["import { parseArgs } from \"util\";\r\nimport * as fs from \"fs\";\r\nimport * as path from \"path\";\r\nimport { compress } from \"./index\";\r\n\r\nasync function readStreamToBuffer(stream: NodeJS.ReadStream): Promise<Buffer> {\r\n const chunks: Buffer[] = [];\r\n for await (const chunk of stream) {\r\n chunks.push(Buffer.from(chunk));\r\n }\r\n return Buffer.concat(chunks);\r\n}\r\n\r\nasync function main() {\r\n const options = {\r\n out: { type: \"string\" as const, short: \"o\" },\r\n level: { type: \"string\" as const, short: \"l\", default: \"6\" },\r\n help: { type: \"boolean\" as const, short: \"h\" },\r\n };\r\n\r\n const { values, positionals } = parseArgs({\r\n args: process.argv.slice(2),\r\n options,\r\n allowPositionals: true,\r\n });\r\n\r\n if (values.help) {\r\n console.error(\"Usage: compress [files...] [options]\");\r\n console.error(\"If [files...] are omitted, reads from stdin.\");\r\n console.error(\"Options:\");\r\n console.error(\r\n \" -o, --out <file> Output file. If absent and not TTY, outputs to stdout.\",\r\n );\r\n console.error(\" -l, --level <1-9> Compression level (default: 6).\");\r\n process.exit(0);\r\n }\r\n\r\n const filesToArchive: Array<{ path: string; content: Blob | string }> = [];\r\n\r\n if (positionals.length > 0) {\r\n for (const filePath of positionals) {\r\n const stat = fs.statSync(filePath);\r\n if (stat.isDirectory()) {\r\n console.error(\r\n \"Directory archiving not supported yet (\" + filePath + \")\",\r\n );\r\n process.exit(1);\r\n }\r\n const buf = fs.readFileSync(filePath);\r\n filesToArchive.push({\r\n path: path.basename(filePath),\r\n content: new Blob([new Uint8Array(buf)]),\r\n });\r\n }\r\n } else {\r\n if (process.stdin.isTTY) {\r\n console.error(\r\n \"Error: Must provide files to archive or pipe input via stdin.\",\r\n );\r\n process.exit(1);\r\n }\r\n const stdinBuffer = await readStreamToBuffer(process.stdin);\r\n filesToArchive.push({\r\n path: \"piped-content\",\r\n content: new Blob([new Uint8Array(stdinBuffer)]),\r\n });\r\n }\r\n\r\n const archive = await compress({\r\n files: filesToArchive,\r\n outputName: values.out ? path.basename(values.out) : \"archive.zip\",\r\n compressionLevel: parseInt(values.level || \"6\", 10),\r\n });\r\n\r\n const archiveBuffer = Buffer.from(await archive.blob.arrayBuffer());\r\n\r\n if (values.out) {\r\n fs.writeFileSync(path.resolve(values.out), archiveBuffer);\r\n console.error(\"Created archive at \" + values.out);\r\n } else {\r\n process.stdout.write(archiveBuffer);\r\n }\r\n}\r\n\r\nmain().catch((err) => {\r\n console.error(\"Compress Error:\", err);\r\n process.exit(1);\r\n});\r\n"],"names":["async","values","positionals","parseArgs","args","process","argv","slice","options","out","type","short","level","default","help","allowPositionals","console","error","exit","filesToArchive","length","filePath","fs","statSync","isDirectory","buf","readFileSync","push","path","basename","content","Blob","Uint8Array","stdin","isTTY","stdinBuffer","stream","chunks","chunk","Buffer","from","concat","readStreamToBuffer","archive","compress","files","outputName","compressionLevel","parseInt","archiveBuffer","blob","arrayBuffer","writeFileSync","resolve","stdout","write","main","catch","err"],"mappings":";0YAaAA,iBACE,MAMMC,OAAEA,EAAAC,YAAQA,GAAgBC,YAAU,CACxCC,KAAMC,QAAQC,KAAKC,MAAM,GACzBC,QARc,CACdC,IAAK,CAAEC,KAAM,SAAmBC,MAAO,KACvCC,MAAO,CAAEF,KAAM,SAAmBC,MAAO,IAAKE,QAAS,KACvDC,KAAM,CAAEJ,KAAM,UAAoBC,MAAO,MAMzCI,kBAAkB,IAGhBd,EAAOa,OACTE,QAAQC,MAAM,wCACdD,QAAQC,MAAM,gDACdD,QAAQC,MAAM,YACdD,QAAQC,MACN,oFAEFD,QAAQC,MAAM,6DACdZ,QAAQa,KAAK,IAGf,MAAMC,EAAkE,GAExE,GAAIjB,EAAYkB,OAAS,EACvB,IAAA,MAAWC,KAAYnB,EAAa,CACrBoB,EAAGC,SAASF,GAChBG,gBACPR,QAAQC,MACN,0CAA4CI,EAAW,KAEzDhB,QAAQa,KAAK,IAEf,MAAMO,EAAMH,EAAGI,aAAaL,GAC5BF,EAAeQ,KAAK,CAClBC,KAAMA,EAAKC,SAASR,GACpBS,QAAS,IAAIC,KAAK,CAAC,IAAIC,WAAWP,MAEtC,KACK,CACDpB,QAAQ4B,MAAMC,QAChBlB,QAAQC,MACN,iEAEFZ,QAAQa,KAAK,IAEf,MAAMiB,QAxDVnC,eAAkCoC,GAChC,MAAMC,EAAmB,GACzB,UAAA,MAAiBC,KAASF,EACxBC,EAAOV,KAAKY,OAAOC,KAAKF,IAE1B,OAAOC,OAAOE,OAAOJ,EACvB,CAkD8BK,CAAmBrC,QAAQ4B,OACrDd,EAAeQ,KAAK,CAClBC,KAAM,gBACNE,QAAS,IAAIC,KAAK,CAAC,IAAIC,WAAWG,MAEtC,CAEA,MAAMQ,QAAgBC,WAAS,CAC7BC,MAAO1B,EACP2B,WAAY7C,EAAOQ,IAAMmB,EAAKC,SAAS5B,EAAOQ,KAAO,cACrDsC,iBAAkBC,SAAS/C,EAAOW,OAAS,IAAK,MAG5CqC,EAAgBV,OAAOC,WAAWG,EAAQO,KAAKC,eAEjDlD,EAAOQ,KACTa,EAAG8B,cAAcxB,EAAKyB,QAAQpD,EAAOQ,KAAMwC,GAC3CjC,QAAQC,MAAM,sBAAwBhB,EAAOQ,MAE7CJ,QAAQiD,OAAOC,MAAMN,EAEzB,EAEAO,GAAOC,MAAOC,IACZ1C,QAAQC,MAAM,kBAAmByC,GACjCrD,QAAQa,KAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin-compress.es.js","sources":["../packages/archiver-web/src/bin-compress.ts"],"sourcesContent":["import { parseArgs } from \"util\";\r\nimport * as fs from \"fs\";\r\nimport * as path from \"path\";\r\nimport { compress } from \"./index
|
|
1
|
+
{"version":3,"file":"bin-compress.es.js","sources":["../packages/archiver-web/src/bin-compress.ts"],"sourcesContent":["import { parseArgs } from \"util\";\r\nimport * as fs from \"fs\";\r\nimport * as path from \"path\";\r\nimport { compress } from \"./index\";\r\n\r\nasync function readStreamToBuffer(stream: NodeJS.ReadStream): Promise<Buffer> {\r\n const chunks: Buffer[] = [];\r\n for await (const chunk of stream) {\r\n chunks.push(Buffer.from(chunk));\r\n }\r\n return Buffer.concat(chunks);\r\n}\r\n\r\nasync function main() {\r\n const options = {\r\n out: { type: \"string\" as const, short: \"o\" },\r\n level: { type: \"string\" as const, short: \"l\", default: \"6\" },\r\n help: { type: \"boolean\" as const, short: \"h\" },\r\n };\r\n\r\n const { values, positionals } = parseArgs({\r\n args: process.argv.slice(2),\r\n options,\r\n allowPositionals: true,\r\n });\r\n\r\n if (values.help) {\r\n console.error(\"Usage: compress [files...] [options]\");\r\n console.error(\"If [files...] are omitted, reads from stdin.\");\r\n console.error(\"Options:\");\r\n console.error(\r\n \" -o, --out <file> Output file. If absent and not TTY, outputs to stdout.\",\r\n );\r\n console.error(\" -l, --level <1-9> Compression level (default: 6).\");\r\n process.exit(0);\r\n }\r\n\r\n const filesToArchive: Array<{ path: string; content: Blob | string }> = [];\r\n\r\n if (positionals.length > 0) {\r\n for (const filePath of positionals) {\r\n const stat = fs.statSync(filePath);\r\n if (stat.isDirectory()) {\r\n console.error(\r\n \"Directory archiving not supported yet (\" + filePath + \")\",\r\n );\r\n process.exit(1);\r\n }\r\n const buf = fs.readFileSync(filePath);\r\n filesToArchive.push({\r\n path: path.basename(filePath),\r\n content: new Blob([new Uint8Array(buf)]),\r\n });\r\n }\r\n } else {\r\n if (process.stdin.isTTY) {\r\n console.error(\r\n \"Error: Must provide files to archive or pipe input via stdin.\",\r\n );\r\n process.exit(1);\r\n }\r\n const stdinBuffer = await readStreamToBuffer(process.stdin);\r\n filesToArchive.push({\r\n path: \"piped-content\",\r\n content: new Blob([new Uint8Array(stdinBuffer)]),\r\n });\r\n }\r\n\r\n const archive = await compress({\r\n files: filesToArchive,\r\n outputName: values.out ? path.basename(values.out) : \"archive.zip\",\r\n compressionLevel: parseInt(values.level || \"6\", 10),\r\n });\r\n\r\n const archiveBuffer = Buffer.from(await archive.blob.arrayBuffer());\r\n\r\n if (values.out) {\r\n fs.writeFileSync(path.resolve(values.out), archiveBuffer);\r\n console.error(\"Created archive at \" + values.out);\r\n } else {\r\n process.stdout.write(archiveBuffer);\r\n }\r\n}\r\n\r\nmain().catch((err) => {\r\n console.error(\"Compress Error:\", err);\r\n process.exit(1);\r\n});\r\n"],"names":["async","values","positionals","parseArgs","args","process","argv","slice","options","out","type","short","level","default","help","allowPositionals","console","error","exit","filesToArchive","length","filePath","fs","statSync","isDirectory","buf","readFileSync","push","path","basename","content","Blob","Uint8Array","stdin","isTTY","stdinBuffer","stream","chunks","chunk","Buffer","from","concat","readStreamToBuffer","archive","compress","files","outputName","compressionLevel","parseInt","archiveBuffer","blob","arrayBuffer","writeFileSync","resolve","stdout","write","main","catch","err"],"mappings":";8HAaAA,iBACE,MAMMC,OAAEA,EAAAC,YAAQA,GAAgBC,EAAU,CACxCC,KAAMC,QAAQC,KAAKC,MAAM,GACzBC,QARc,CACdC,IAAK,CAAEC,KAAM,SAAmBC,MAAO,KACvCC,MAAO,CAAEF,KAAM,SAAmBC,MAAO,IAAKE,QAAS,KACvDC,KAAM,CAAEJ,KAAM,UAAoBC,MAAO,MAMzCI,kBAAkB,IAGhBd,EAAOa,OACTE,QAAQC,MAAM,wCACdD,QAAQC,MAAM,gDACdD,QAAQC,MAAM,YACdD,QAAQC,MACN,oFAEFD,QAAQC,MAAM,6DACdZ,QAAQa,KAAK,IAGf,MAAMC,EAAkE,GAExE,GAAIjB,EAAYkB,OAAS,EACvB,IAAA,MAAWC,KAAYnB,EAAa,CACrBoB,EAAGC,SAASF,GAChBG,gBACPR,QAAQC,MACN,0CAA4CI,EAAW,KAEzDhB,QAAQa,KAAK,IAEf,MAAMO,EAAMH,EAAGI,aAAaL,GAC5BF,EAAeQ,KAAK,CAClBC,KAAMA,EAAKC,SAASR,GACpBS,QAAS,IAAIC,KAAK,CAAC,IAAIC,WAAWP,MAEtC,KACK,CACDpB,QAAQ4B,MAAMC,QAChBlB,QAAQC,MACN,iEAEFZ,QAAQa,KAAK,IAEf,MAAMiB,QAxDVnC,eAAkCoC,GAChC,MAAMC,EAAmB,GACzB,UAAA,MAAiBC,KAASF,EACxBC,EAAOV,KAAKY,OAAOC,KAAKF,IAE1B,OAAOC,OAAOE,OAAOJ,EACvB,CAkD8BK,CAAmBrC,QAAQ4B,OACrDd,EAAeQ,KAAK,CAClBC,KAAM,gBACNE,QAAS,IAAIC,KAAK,CAAC,IAAIC,WAAWG,MAEtC,CAEA,MAAMQ,QAAgBC,EAAS,CAC7BC,MAAO1B,EACP2B,WAAY7C,EAAOQ,IAAMmB,EAAKC,SAAS5B,EAAOQ,KAAO,cACrDsC,iBAAkBC,SAAS/C,EAAOW,OAAS,IAAK,MAG5CqC,EAAgBV,OAAOC,WAAWG,EAAQO,KAAKC,eAEjDlD,EAAOQ,KACTa,EAAG8B,cAAcxB,EAAKyB,QAAQpD,EAAOQ,KAAMwC,GAC3CjC,QAAQC,MAAM,sBAAwBhB,EAAOQ,MAE7CJ,QAAQiD,OAAOC,MAAMN,EAEzB,EAEAO,GAAOC,MAAOC,IACZ1C,QAAQC,MAAM,kBAAmByC,GACjCrD,QAAQa,KAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin-extract.cjs.js","sources":["../packages/archiver-web/src/bin-extract.ts"],"sourcesContent":["import { parseArgs } from \"util\";\r\nimport * as fs from \"fs\";\r\nimport * as path from \"path\";\r\nimport { extract } from \"./index
|
|
1
|
+
{"version":3,"file":"bin-extract.cjs.js","sources":["../packages/archiver-web/src/bin-extract.ts"],"sourcesContent":["import { parseArgs } from \"util\";\r\nimport * as fs from \"fs\";\r\nimport * as path from \"path\";\r\nimport { extract } from \"./index\";\r\n\r\nasync function readStreamToBuffer(stream: NodeJS.ReadStream): Promise<Buffer> {\r\n const chunks: Buffer[] = [];\r\n for await (const chunk of stream) {\r\n chunks.push(Buffer.from(chunk));\r\n }\r\n return Buffer.concat(chunks);\r\n}\r\n\r\nasync function main() {\r\n const options = {\r\n out: { type: \"string\" as const, short: \"o\" },\r\n folder: { type: \"string\" as const, short: \"d\", default: \"\" },\r\n help: { type: \"boolean\" as const, short: \"h\" },\r\n };\r\n\r\n const { values, positionals } = parseArgs({\r\n args: process.argv.slice(2),\r\n options,\r\n allowPositionals: true,\r\n });\r\n\r\n if (values.help) {\r\n console.error(\"Usage: extract [archive-file] [options]\");\r\n console.error(\"If [archive-file] is omitted, reads from stdin.\");\r\n console.error(\"Options:\");\r\n console.error(\r\n \" -o, --out <dir> Output directory. If absent, outputs to stdout (only works if 1 file).\",\r\n );\r\n console.error(\" -d, --folder <dir> Folder to extract from archive.\");\r\n process.exit(0);\r\n }\r\n\r\n let archiveBuffer: Buffer;\r\n\r\n if (positionals.length > 0) {\r\n archiveBuffer = fs.readFileSync(path.resolve(positionals[0]));\r\n } else {\r\n if (process.stdin.isTTY) {\r\n console.error(\r\n \"Error: Must provide an archive file or pipe input via stdin.\",\r\n );\r\n process.exit(1);\r\n }\r\n archiveBuffer = await readStreamToBuffer(process.stdin);\r\n }\r\n\r\n const arrayBuf = archiveBuffer.buffer.slice(\r\n archiveBuffer.byteOffset,\r\n archiveBuffer.byteOffset + archiveBuffer.byteLength,\r\n ) as ArrayBuffer;\r\n\r\n const files = await extract({\r\n archiveBuffer: arrayBuf,\r\n folderPath: values.folder,\r\n });\r\n\r\n if (values.out) {\r\n for (const file of files) {\r\n const outPath = path.join(values.out, file.path);\r\n fs.mkdirSync(path.dirname(outPath), { recursive: true });\r\n let buf: Buffer;\r\n if (file.content.match(/^[A-Za-z0-9+/=]+$/) && file.content.length > 50) {\r\n try {\r\n buf = Buffer.from(file.content, \"base64\");\r\n } catch {\r\n buf = Buffer.from(file.content, \"utf8\");\r\n }\r\n } else {\r\n buf = Buffer.from(file.content, \"utf8\");\r\n }\r\n fs.writeFileSync(outPath, buf);\r\n }\r\n console.error(\"Extracted \" + files.length + \" files to \" + values.out);\r\n } else {\r\n if (files.length === 1) {\r\n let buf: Buffer;\r\n if (\r\n files[0].content.match(/^[A-Za-z0-9+/=]*$/) &&\r\n files[0].content.length > 50\r\n ) {\r\n buf = Buffer.from(files[0].content, \"base64\");\r\n } else {\r\n buf = Buffer.from(files[0].content, \"utf8\");\r\n }\r\n process.stdout.write(buf);\r\n } else {\r\n console.error(\r\n \"Archive contains \" +\r\n files.length +\r\n \" files. Please specify -o/--out directory to extract them.\",\r\n );\r\n process.exit(1);\r\n }\r\n }\r\n}\r\n\r\nmain().catch((err) => {\r\n console.error(\"Extract Error:\", err);\r\n process.exit(1);\r\n});\r\n"],"names":["async","values","positionals","parseArgs","args","process","argv","slice","options","out","type","short","folder","default","help","allowPositionals","archiveBuffer","console","error","exit","length","fs","readFileSync","path","resolve","stdin","isTTY","stream","chunks","chunk","push","Buffer","from","concat","readStreamToBuffer","arrayBuf","buffer","byteOffset","byteLength","files","extract","folderPath","file","outPath","join","buf","mkdirSync","dirname","recursive","content","match","writeFileSync","stdout","write","main","catch","err"],"mappings":";0YAaAA,iBACE,MAMMC,OAAEA,EAAAC,YAAQA,GAAgBC,YAAU,CACxCC,KAAMC,QAAQC,KAAKC,MAAM,GACzBC,QARc,CACdC,IAAK,CAAEC,KAAM,SAAmBC,MAAO,KACvCC,OAAQ,CAAEF,KAAM,SAAmBC,MAAO,IAAKE,QAAS,IACxDC,KAAM,CAAEJ,KAAM,UAAoBC,MAAO,MAMzCI,kBAAkB,IAcpB,IAAIC,EAXAf,EAAOa,OACTG,QAAQC,MAAM,2CACdD,QAAQC,MAAM,mDACdD,QAAQC,MAAM,YACdD,QAAQC,MACN,oGAEFD,QAAQC,MAAM,6DACdb,QAAQc,KAAK,IAKXjB,EAAYkB,OAAS,EACvBJ,EAAgBK,EAAGC,aAAaC,EAAKC,QAAQtB,EAAY,MAErDG,QAAQoB,MAAMC,QAChBT,QAAQC,MACN,gEAEFb,QAAQc,KAAK,IAEfH,QA3CJhB,eAAkC2B,GAChC,MAAMC,EAAmB,GACzB,UAAA,MAAiBC,KAASF,EACxBC,EAAOE,KAAKC,OAAOC,KAAKH,IAE1B,OAAOE,OAAOE,OAAOL,EACvB,CAqC0BM,CAAmB7B,QAAQoB,QAGnD,MAAMU,EAAWnB,EAAcoB,OAAO7B,MACpCS,EAAcqB,WACdrB,EAAcqB,WAAarB,EAAcsB,YAGrCC,QAAcC,UAAQ,CAC1BxB,cAAemB,EACfM,WAAYxC,EAAOW,SAGrB,GAAIX,EAAOQ,IAAK,CACd,IAAA,MAAWiC,KAAQH,EAAO,CACxB,MAAMI,EAAUpB,EAAKqB,KAAK3C,EAAOQ,IAAKiC,EAAKnB,MAE3C,IAAIsB,EACJ,GAFAxB,EAAGyB,UAAUvB,EAAKwB,QAAQJ,GAAU,CAAEK,WAAW,IAE7CN,EAAKO,QAAQC,MAAM,sBAAwBR,EAAKO,QAAQ7B,OAAS,GACnE,IACEyB,EAAMd,OAAOC,KAAKU,EAAKO,QAAS,SAClC,CAAA,MACEJ,EAAMd,OAAOC,KAAKU,EAAKO,QAAS,OAClC,MAEAJ,EAAMd,OAAOC,KAAKU,EAAKO,QAAS,QAElC5B,EAAG8B,cAAcR,EAASE,EAC5B,CACA5B,QAAQC,MAAM,aAAeqB,EAAMnB,OAAS,aAAenB,EAAOQ,IACpE,MACE,GAAqB,IAAjB8B,EAAMnB,OAAc,CACtB,IAAIyB,EAKFA,EAHAN,EAAM,GAAGU,QAAQC,MAAM,sBACvBX,EAAM,GAAGU,QAAQ7B,OAAS,GAEpBW,OAAOC,KAAKO,EAAM,GAAGU,QAAS,UAE9BlB,OAAOC,KAAKO,EAAM,GAAGU,QAAS,QAEtC5C,QAAQ+C,OAAOC,MAAMR,EACvB,MACE5B,QAAQC,MACN,oBACEqB,EAAMnB,OACN,8DAEJf,QAAQc,KAAK,EAGnB,EAEAmC,GAAOC,MAAOC,IACZvC,QAAQC,MAAM,iBAAkBsC,GAChCnD,QAAQc,KAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin-extract.es.js","sources":["../packages/archiver-web/src/bin-extract.ts"],"sourcesContent":["import { parseArgs } from \"util\";\r\nimport * as fs from \"fs\";\r\nimport * as path from \"path\";\r\nimport { extract } from \"./index
|
|
1
|
+
{"version":3,"file":"bin-extract.es.js","sources":["../packages/archiver-web/src/bin-extract.ts"],"sourcesContent":["import { parseArgs } from \"util\";\r\nimport * as fs from \"fs\";\r\nimport * as path from \"path\";\r\nimport { extract } from \"./index\";\r\n\r\nasync function readStreamToBuffer(stream: NodeJS.ReadStream): Promise<Buffer> {\r\n const chunks: Buffer[] = [];\r\n for await (const chunk of stream) {\r\n chunks.push(Buffer.from(chunk));\r\n }\r\n return Buffer.concat(chunks);\r\n}\r\n\r\nasync function main() {\r\n const options = {\r\n out: { type: \"string\" as const, short: \"o\" },\r\n folder: { type: \"string\" as const, short: \"d\", default: \"\" },\r\n help: { type: \"boolean\" as const, short: \"h\" },\r\n };\r\n\r\n const { values, positionals } = parseArgs({\r\n args: process.argv.slice(2),\r\n options,\r\n allowPositionals: true,\r\n });\r\n\r\n if (values.help) {\r\n console.error(\"Usage: extract [archive-file] [options]\");\r\n console.error(\"If [archive-file] is omitted, reads from stdin.\");\r\n console.error(\"Options:\");\r\n console.error(\r\n \" -o, --out <dir> Output directory. If absent, outputs to stdout (only works if 1 file).\",\r\n );\r\n console.error(\" -d, --folder <dir> Folder to extract from archive.\");\r\n process.exit(0);\r\n }\r\n\r\n let archiveBuffer: Buffer;\r\n\r\n if (positionals.length > 0) {\r\n archiveBuffer = fs.readFileSync(path.resolve(positionals[0]));\r\n } else {\r\n if (process.stdin.isTTY) {\r\n console.error(\r\n \"Error: Must provide an archive file or pipe input via stdin.\",\r\n );\r\n process.exit(1);\r\n }\r\n archiveBuffer = await readStreamToBuffer(process.stdin);\r\n }\r\n\r\n const arrayBuf = archiveBuffer.buffer.slice(\r\n archiveBuffer.byteOffset,\r\n archiveBuffer.byteOffset + archiveBuffer.byteLength,\r\n ) as ArrayBuffer;\r\n\r\n const files = await extract({\r\n archiveBuffer: arrayBuf,\r\n folderPath: values.folder,\r\n });\r\n\r\n if (values.out) {\r\n for (const file of files) {\r\n const outPath = path.join(values.out, file.path);\r\n fs.mkdirSync(path.dirname(outPath), { recursive: true });\r\n let buf: Buffer;\r\n if (file.content.match(/^[A-Za-z0-9+/=]+$/) && file.content.length > 50) {\r\n try {\r\n buf = Buffer.from(file.content, \"base64\");\r\n } catch {\r\n buf = Buffer.from(file.content, \"utf8\");\r\n }\r\n } else {\r\n buf = Buffer.from(file.content, \"utf8\");\r\n }\r\n fs.writeFileSync(outPath, buf);\r\n }\r\n console.error(\"Extracted \" + files.length + \" files to \" + values.out);\r\n } else {\r\n if (files.length === 1) {\r\n let buf: Buffer;\r\n if (\r\n files[0].content.match(/^[A-Za-z0-9+/=]*$/) &&\r\n files[0].content.length > 50\r\n ) {\r\n buf = Buffer.from(files[0].content, \"base64\");\r\n } else {\r\n buf = Buffer.from(files[0].content, \"utf8\");\r\n }\r\n process.stdout.write(buf);\r\n } else {\r\n console.error(\r\n \"Archive contains \" +\r\n files.length +\r\n \" files. Please specify -o/--out directory to extract them.\",\r\n );\r\n process.exit(1);\r\n }\r\n }\r\n}\r\n\r\nmain().catch((err) => {\r\n console.error(\"Extract Error:\", err);\r\n process.exit(1);\r\n});\r\n"],"names":["async","values","positionals","parseArgs","args","process","argv","slice","options","out","type","short","folder","default","help","allowPositionals","archiveBuffer","console","error","exit","length","fs","readFileSync","path","resolve","stdin","isTTY","stream","chunks","chunk","push","Buffer","from","concat","readStreamToBuffer","arrayBuf","buffer","byteOffset","byteLength","files","extract","folderPath","file","outPath","join","buf","mkdirSync","dirname","recursive","content","match","writeFileSync","stdout","write","main","catch","err"],"mappings":";6HAaAA,iBACE,MAMMC,OAAEA,EAAAC,YAAQA,GAAgBC,EAAU,CACxCC,KAAMC,QAAQC,KAAKC,MAAM,GACzBC,QARc,CACdC,IAAK,CAAEC,KAAM,SAAmBC,MAAO,KACvCC,OAAQ,CAAEF,KAAM,SAAmBC,MAAO,IAAKE,QAAS,IACxDC,KAAM,CAAEJ,KAAM,UAAoBC,MAAO,MAMzCI,kBAAkB,IAcpB,IAAIC,EAXAf,EAAOa,OACTG,QAAQC,MAAM,2CACdD,QAAQC,MAAM,mDACdD,QAAQC,MAAM,YACdD,QAAQC,MACN,oGAEFD,QAAQC,MAAM,6DACdb,QAAQc,KAAK,IAKXjB,EAAYkB,OAAS,EACvBJ,EAAgBK,EAAGC,aAAaC,EAAKC,QAAQtB,EAAY,MAErDG,QAAQoB,MAAMC,QAChBT,QAAQC,MACN,gEAEFb,QAAQc,KAAK,IAEfH,QA3CJhB,eAAkC2B,GAChC,MAAMC,EAAmB,GACzB,UAAA,MAAiBC,KAASF,EACxBC,EAAOE,KAAKC,OAAOC,KAAKH,IAE1B,OAAOE,OAAOE,OAAOL,EACvB,CAqC0BM,CAAmB7B,QAAQoB,QAGnD,MAAMU,EAAWnB,EAAcoB,OAAO7B,MACpCS,EAAcqB,WACdrB,EAAcqB,WAAarB,EAAcsB,YAGrCC,QAAcC,EAAQ,CAC1BxB,cAAemB,EACfM,WAAYxC,EAAOW,SAGrB,GAAIX,EAAOQ,IAAK,CACd,IAAA,MAAWiC,KAAQH,EAAO,CACxB,MAAMI,EAAUpB,EAAKqB,KAAK3C,EAAOQ,IAAKiC,EAAKnB,MAE3C,IAAIsB,EACJ,GAFAxB,EAAGyB,UAAUvB,EAAKwB,QAAQJ,GAAU,CAAEK,WAAW,IAE7CN,EAAKO,QAAQC,MAAM,sBAAwBR,EAAKO,QAAQ7B,OAAS,GACnE,IACEyB,EAAMd,OAAOC,KAAKU,EAAKO,QAAS,SAClC,CAAA,MACEJ,EAAMd,OAAOC,KAAKU,EAAKO,QAAS,OAClC,MAEAJ,EAAMd,OAAOC,KAAKU,EAAKO,QAAS,QAElC5B,EAAG8B,cAAcR,EAASE,EAC5B,CACA5B,QAAQC,MAAM,aAAeqB,EAAMnB,OAAS,aAAenB,EAAOQ,IACpE,MACE,GAAqB,IAAjB8B,EAAMnB,OAAc,CACtB,IAAIyB,EAKFA,EAHAN,EAAM,GAAGU,QAAQC,MAAM,sBACvBX,EAAM,GAAGU,QAAQ7B,OAAS,GAEpBW,OAAOC,KAAKO,EAAM,GAAGU,QAAS,UAE9BlB,OAAOC,KAAKO,EAAM,GAAGU,QAAS,QAEtC5C,QAAQ+C,OAAOC,MAAMR,EACvB,MACE5B,QAAQC,MACN,oBACEqB,EAAMnB,OACN,8DAEJf,QAAQc,KAAK,EAGnB,EAEAmC,GAAOC,MAAOC,IACZvC,QAAQC,MAAM,iBAAkBsC,GAChCnD,QAAQc,KAAK"}
|
package/package.json
CHANGED