dev-toolkit-cli 1.0.2 → 1.0.4

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.
@@ -81,3 +81,4 @@ async function compressVideo(filePath, resolution, force) {
81
81
  await fs.rm(input);
82
82
  await fs.rename(output, addFilenamePrefix(removeFilenamePrefix(input, compressedFlagPrefix), compressedFlagPrefix));
83
83
  }
84
+ //# sourceMappingURL=action-compress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-compress.js","sourceRoot":"","sources":["../../src/actions/action-compress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-compress.js","sourceRoot":"","sources":["../../src/actions/action-compress.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export * as compress from "./action-compress.js";
2
+ //# sourceMappingURL=index.js.map
package/bin/lib/bash.js CHANGED
@@ -25,12 +25,54 @@ export async function check_dependencies(dependencies = globalDependencies) {
25
25
  throw new CommanderError(1, "missing_dependencies", missing_dependencies.map((dep) => `'${dep}'`).join(", "));
26
26
  }
27
27
  }
28
+ async function getBestEncoder() {
29
+ try {
30
+ const { stdout } = (await execAsync("ffmpeg -encoders"));
31
+ // Prioridade para AMD (Windows: amf | Linux: vaapi)
32
+ if (stdout.includes("h264_amf"))
33
+ return "h264_amf";
34
+ if (stdout.includes("h264_vaapi"))
35
+ return "h264_vaapi";
36
+ // Outros hardwares
37
+ if (stdout.includes("h264_nvenc"))
38
+ return "h264_nvenc";
39
+ if (stdout.includes("h264_qsv"))
40
+ return "h264_qsv";
41
+ if (stdout.includes("h264_videotoolbox"))
42
+ return "h264_videotoolbox";
43
+ return "libx264"; // Fallback
44
+ }
45
+ catch {
46
+ return "libx264";
47
+ }
48
+ }
28
49
  export async function ffmpeg_video_compress(input, output, resolution = "480p", forceResolution) {
29
50
  const { w, h } = resolutionMapping[resolution];
30
- return execAsync(forceResolution
31
- ? `ffmpeg -i "${input}" -s ${w}x${h} -acodec copy -y "${output}"`
32
- : `ffmpeg -i "${input}" -filter:v scale=-1:${h} -acodec copy -y "${output}"`);
51
+ const encoder = await getBestEncoder();
52
+ // No VA-API (Linux), o redimensionamento deve ser feito via hardware para máxima performance
53
+ let filter = forceResolution ? `scale=${w}:${h}` : `scale=-1:${h}`;
54
+ if (encoder === "h264_vaapi") {
55
+ // Adiciona upload para hardware se usar vaapi
56
+ filter = `format=nv12,hwupload,scale_vaapi=w=${forceResolution ? w : -1}:h=${h}`;
57
+ }
58
+ const vaapiOpts = encoder === "h264_vaapi" ? "-vaapi_device /dev/dri/renderD128" : "";
59
+ console.log("Compressing video using: ", encoder);
60
+ return execAsync(`ffmpeg ${vaapiOpts} -i "${input}" -vf "${filter}" -c:v ${encoder} -pix_fmt yuv420p -acodec copy -y "${output}"`);
33
61
  }
62
+ // export async function ffmpeg_video_compress(
63
+ // input: string,
64
+ // output: string,
65
+ // resolution: Resolution = "480p",
66
+ // forceResolution?: boolean
67
+ // ) {
68
+ // const { w, h } = resolutionMapping[resolution];
69
+ // return execAsync(
70
+ // forceResolution
71
+ // ? `ffmpeg -i "${input}" -s ${w}x${h} -acodec copy -y "${output}"`
72
+ // : `ffmpeg -i "${input}" -filter:v scale=-1:${h} -acodec copy -y "${output}"`
73
+ // );
74
+ // }
34
75
  export async function ffmpeg_image_to_webp(input, output) {
35
76
  return execAsync(`ffmpeg -i "${input}" -c:v libwebp "${output}"`);
36
77
  }
78
+ //# sourceMappingURL=bash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/lib/bash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAc,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE,CAC3C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QACtC,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;;YAChC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,MAAM,kBAAkB,GAAG,CAAC,QAAQ,CAAC,CAAC;AAEtC,KAAK,UAAU,gBAAgB,CAAC,UAAkB;IAChD,OAAO,SAAS,CAAC,GAAG,UAAU,KAAK,CAAC;SACjC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,YAAY,GAAG,kBAAkB;IACxE,MAAM,oBAAoB,GAAG,EAAE,CAAC;IAEhC,KAAK,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,cAAc,CACtB,CAAC,EACD,sBAAsB,EACtB,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACzD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAa,EACb,MAAc,EACd,aAAyB,MAAM,EAC/B,eAAyB;IAEzB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAE/C,OAAO,SAAS,CACd,eAAe;QACb,CAAC,CAAC,cAAc,KAAK,QAAQ,CAAC,IAAI,CAAC,qBAAqB,MAAM,GAAG;QACjE,CAAC,CAAC,cAAc,KAAK,wBAAwB,CAAC,qBAAqB,MAAM,GAAG,CAC/E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/lib/bash.ts"],"names":[],"mappings":"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"}
@@ -42,3 +42,4 @@ export const Resolution = [
42
42
  "360p",
43
43
  "240p",
44
44
  ];
45
+ //# sourceMappingURL=constants.js.map
@@ -28,6 +28,7 @@ export async function getFolderList(pathname) {
28
28
  export function getFilenameExtension(filename) {
29
29
  return ((filename.includes(".") && filename.split(".").slice(-1)[0]) || undefined);
30
30
  }
31
+ // export function getIgnoreList(pathname: string) {x}
31
32
  export function replaceFilenameExtension(filename, newExtension) {
32
33
  return `${getFilenameWithoutExtension(filename)}.${newExtension}`;
33
34
  }
@@ -87,3 +88,4 @@ export function normalizeFilename(filename) {
87
88
  // Remove all not alphanumeric characters on start
88
89
  .replace(/^[^0-9a-zA-Z]/g, ""));
89
90
  }
91
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"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"}
@@ -19,3 +19,4 @@ export function EnumOption(enumerator) {
19
19
  return previous;
20
20
  };
21
21
  }
22
+ //# sourceMappingURL=validation.js.map
package/bin/main.js CHANGED
@@ -33,3 +33,4 @@ program.parseAsync(process.argv).catch((err) => {
33
33
  }
34
34
  }
35
35
  });
36
+ //# sourceMappingURL=main.js.map
package/bin/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpD,kCAAkC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE9E,YAAY;AACZ,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,qDAAqD,CAAC,CAAC;AAEtE,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC;KAChD,MAAM,CACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,EAAE,CACH;KACA,MAAM,CAAC,qBAAqB,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;KAChE,MAAM,CACL,2BAA2B,EAC3B,YAAY,EACZ,UAAU,CAAC,UAAU,CAAC,EACtB,MAAM,CACP;KACA,MAAM,CAAC,aAAa,EAAE,yBAAyB,CAAC;KAChD,MAAM,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;KAChE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;SAAM,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpD,kCAAkC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE9E,YAAY;AACZ,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,qDAAqD,CAAC,CAAC;AAEtE,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,YAAY,CAAC;KAChD,MAAM,CACL,wBAAwB,EACxB,0BAA0B,EAC1B,aAAa,EACb,EAAE,CACH;KACA,MAAM,CAAC,qBAAqB,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;KAChE,MAAM,CACL,2BAA2B,EAC3B,YAAY,EACZ,UAAU,CAAC,UAAU,CAAC,EACtB,MAAM,CACP;KACA,MAAM,CAAC,aAAa,EAAE,yBAAyB,CAAC;KAChD,MAAM,CAAC,kBAAkB,EAAE,oCAAoC,CAAC;KAChE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;SAAM,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-toolkit-cli",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "repository": "https://github.com/daviinacio/dev-toolkit",
5
5
  "author": "Davi Inácio <aazz6850@gmail.com>",
6
6
  "license": "MIT",
@@ -11,7 +11,7 @@
11
11
  "type": "module",
12
12
  "scripts": {
13
13
  "dev": "tsc -w",
14
- "build": "tsc",
14
+ "build": "rm -rf bin && tsc",
15
15
  "unlink-cli": "yarn --global unlink dev-toolkit-cli",
16
16
  "link-cli": "(yarn unlink-cli || true) && chmod +x bin/main.js && yarn --global link",
17
17
  "prepublish": "yarn build",
package/src/lib/bash.ts CHANGED
@@ -29,25 +29,71 @@ export async function check_dependencies(dependencies = globalDependencies) {
29
29
  throw new CommanderError(
30
30
  1,
31
31
  "missing_dependencies",
32
- missing_dependencies.map((dep) => `'${dep}'`).join(", ")
32
+ missing_dependencies.map((dep) => `'${dep}'`).join(", "),
33
33
  );
34
34
  }
35
35
  }
36
36
 
37
+ async function getBestEncoder(): Promise<string> {
38
+ try {
39
+ const { stdout } = (await execAsync("ffmpeg -encoders")) as {
40
+ stdout: string;
41
+ };
42
+
43
+ // Prioridade para AMD (Windows: amf | Linux: vaapi)
44
+ if (stdout.includes("h264_amf")) return "h264_amf";
45
+ if (stdout.includes("h264_vaapi")) return "h264_vaapi";
46
+
47
+ // Outros hardwares
48
+ if (stdout.includes("h264_nvenc")) return "h264_nvenc";
49
+ if (stdout.includes("h264_qsv")) return "h264_qsv";
50
+ if (stdout.includes("h264_videotoolbox")) return "h264_videotoolbox";
51
+
52
+ return "libx264"; // Fallback
53
+ } catch {
54
+ return "libx264";
55
+ }
56
+ }
57
+
37
58
  export async function ffmpeg_video_compress(
38
59
  input: string,
39
60
  output: string,
40
61
  resolution: Resolution = "480p",
41
- forceResolution?: boolean
62
+ forceResolution?: boolean,
42
63
  ) {
43
64
  const { w, h } = resolutionMapping[resolution];
65
+ const encoder = await getBestEncoder();
66
+
67
+ // No VA-API (Linux), o redimensionamento deve ser feito via hardware para máxima performance
68
+ let filter = forceResolution ? `scale=${w}:${h}` : `scale=-1:${h}`;
69
+ if (encoder === "h264_vaapi") {
70
+ // Adiciona upload para hardware se usar vaapi
71
+ filter = `format=nv12,hwupload,scale_vaapi=w=${forceResolution ? w : -1}:h=${h}`;
72
+ }
73
+
74
+ const vaapiOpts =
75
+ encoder === "h264_vaapi" ? "-vaapi_device /dev/dri/renderD128" : "";
76
+
77
+ console.log("Compressing video using: ", encoder);
44
78
 
45
79
  return execAsync(
46
- forceResolution
47
- ? `ffmpeg -i "${input}" -s ${w}x${h} -acodec copy -y "${output}"`
48
- : `ffmpeg -i "${input}" -filter:v scale=-1:${h} -acodec copy -y "${output}"`
80
+ `ffmpeg ${vaapiOpts} -i "${input}" -vf "${filter}" -c:v ${encoder} -pix_fmt yuv420p -acodec copy -y "${output}"`,
49
81
  );
50
82
  }
83
+ // export async function ffmpeg_video_compress(
84
+ // input: string,
85
+ // output: string,
86
+ // resolution: Resolution = "480p",
87
+ // forceResolution?: boolean
88
+ // ) {
89
+ // const { w, h } = resolutionMapping[resolution];
90
+
91
+ // return execAsync(
92
+ // forceResolution
93
+ // ? `ffmpeg -i "${input}" -s ${w}x${h} -acodec copy -y "${output}"`
94
+ // : `ffmpeg -i "${input}" -filter:v scale=-1:${h} -acodec copy -y "${output}"`
95
+ // );
96
+ // }
51
97
 
52
98
  export async function ffmpeg_image_to_webp(input: string, output: string) {
53
99
  return execAsync(`ffmpeg -i "${input}" -c:v libwebp "${output}"`);
@@ -56,6 +56,8 @@ export function getFilenameExtension(filename: string) {
56
56
  );
57
57
  }
58
58
 
59
+ // export function getIgnoreList(pathname: string) {x}
60
+
59
61
  export function replaceFilenameExtension(
60
62
  filename: string,
61
63
  newExtension: string
package/tsconfig.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "target": "ES2022",
3
+ "target": "es2022",
4
4
  "module": "Node16",
5
5
  "outDir": "./bin",
6
6
  "rootDir": "./src",
@@ -8,6 +8,7 @@
8
8
  "forceConsistentCasingInFileNames": true,
9
9
  "strict": true,
10
10
  "skipLibCheck": true,
11
- "resolveJsonModule": true
11
+ "resolveJsonModule": true,
12
+ "sourceMap": true
12
13
  }
13
14
  }
@@ -1,13 +0,0 @@
1
- import { Resolution } from "../lib/constants";
2
- export declare const FileType: readonly ["image", "video"];
3
- type FileType = (typeof FileType)[number];
4
- export type CompressFileArgs = {
5
- verbose: number;
6
- type: FileType;
7
- resolution: Resolution;
8
- force: boolean;
9
- horizontal: boolean;
10
- };
11
- export declare function file(pathname: string, { verbose, type, resolution, force, horizontal }: CompressFileArgs): Promise<void>;
12
- export {};
13
- //# sourceMappingURL=action-compress.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-compress.d.ts","sourceRoot":"","sources":["../../src/actions/action-compress.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAa9C,eAAO,MAAM,QAAQ,6BAA8B,CAAC;AACpD,KAAK,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAU1C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAsB,IAAI,CACxB,QAAQ,EAAE,MAAM,EAChB,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,gBAAgB,iBA+CnE"}
@@ -1,2 +0,0 @@
1
- export * as compress from "./action-compress.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC"}
package/bin/lib/bash.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import { Resolution } from "./constants.js";
2
- export declare const execAsync: (command: string) => Promise<unknown>;
3
- export declare function check_dependencies(dependencies?: string[]): Promise<void>;
4
- export declare function ffmpeg_video_compress(input: string, output: string, resolution?: Resolution, forceResolution?: boolean): Promise<unknown>;
5
- //# sourceMappingURL=bash.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/lib/bash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqB,MAAM,gBAAgB,CAAC;AAG/D,eAAO,MAAM,SAAS,YAAa,MAAM,qBAMrC,CAAC;AAUL,wBAAsB,kBAAkB,CAAC,YAAY,WAAqB,iBAczE;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,UAAmB,EAC/B,eAAe,CAAC,EAAE,OAAO,oBAS1B"}
@@ -1,37 +0,0 @@
1
- export declare const resolutionMapping: {
2
- readonly "4320p": {
3
- readonly w: 7680;
4
- readonly h: 4320;
5
- };
6
- readonly "2160p": {
7
- readonly w: 3840;
8
- readonly h: 2160;
9
- };
10
- readonly "1440p": {
11
- readonly w: 2560;
12
- readonly h: 1440;
13
- };
14
- readonly "1080p": {
15
- readonly w: 1920;
16
- readonly h: 1080;
17
- };
18
- readonly "720p": {
19
- readonly w: 1280;
20
- readonly h: 720;
21
- };
22
- readonly "480p": {
23
- readonly w: 854;
24
- readonly h: 480;
25
- };
26
- readonly "360p": {
27
- readonly w: 640;
28
- readonly h: 360;
29
- };
30
- readonly "240p": {
31
- readonly w: 426;
32
- readonly h: 240;
33
- };
34
- };
35
- export declare const Resolution: readonly ["4320p", "2160p", "1440p", "1080p", "720p", "480p", "360p", "240p"];
36
- export type Resolution = (typeof Resolution)[number];
37
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCpB,CAAC;AAEX,eAAO,MAAM,UAAU,+EASb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- export declare function getFolderFiles(pathname: string, recursive?: boolean): Promise<Array<string>>;
2
- export declare function getFolderList(pathname: string): Promise<string[]>;
3
- export declare function getFilenameExtension(filename: string): string | undefined;
4
- export declare function replaceFilenameExtension(filename: string, newExtension: string): string;
5
- export declare function addFilenameSuffix(pathname: string, suffix: string): string;
6
- export declare function addFilenamePrefix(pathname: string, prefix: string): string;
7
- export declare function removeFilenamePrefix(pathname: string, prefix: string): string;
8
- export declare function getFilenameWithoutExtension(filename: string): string;
9
- export declare function getAvailablePathname(pathname: string): Promise<string | null>;
10
- export declare function getFilename(pathname: string): string;
11
- export declare function getDirectory(pathname: string): string;
12
- export declare function normalizeFilename(filename: string): string;
13
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAMA,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,UAAQ,GAChB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CA4BxB;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,qBAWnD;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,sBAIpD;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,UAGrB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UASjE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAIjE;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAKpE;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,UAK3D;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,0BAQ1D;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,UAE3C;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,UAE5C;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,UAoBjD"}
@@ -1,89 +0,0 @@
1
- import fs from "fs/promises";
2
- import fsSync from "fs";
3
- import path from "path";
4
- export async function getFolderFiles(pathname, recursive = false) {
5
- const list = await fs.readdir(pathname);
6
- let { folder_list, file_list } = await list.reduce(async (_acc, name) => {
7
- const acc = await _acc;
8
- const is_directory = (await fs.lstat(path.join(pathname, name))).isDirectory();
9
- if (is_directory)
10
- acc.folder_list.push(name);
11
- else
12
- acc.file_list.push(name);
13
- return acc;
14
- }, Promise.resolve({ folder_list: [], file_list: [] }));
15
- file_list = file_list.map((name) => path.join(pathname, name));
16
- if (!recursive)
17
- return file_list;
18
- const subfolder_file_list = await Promise.all(folder_list.map((folder_name) => getFolderFiles(path.join(pathname, folder_name), recursive))).then((l) => l.flatMap((l) => l));
19
- file_list.push(...subfolder_file_list);
20
- return file_list;
21
- }
22
- export async function getFolderList(pathname) {
23
- return Promise.all((await fs.readdir(pathname)).map(async (name) => {
24
- const is_directory = (await fs.lstat(path.join(pathname, name))).isDirectory();
25
- return { name, is_directory };
26
- })).then((result) => result.filter((it) => it.is_directory).map((it) => it.name));
27
- }
28
- export function getFilenameExtension(filename) {
29
- return ((filename.includes(".") && filename.split(".").slice(-1)[0]) || undefined);
30
- }
31
- export function replaceFilenameExtension(filename, newExtension) {
32
- return `${getFilenameWithoutExtension(filename)}.${newExtension}`;
33
- }
34
- export function addFilenameSuffix(pathname, suffix) {
35
- const directory = getDirectory(pathname);
36
- const filename = getFilename(pathname);
37
- const extension = getFilenameExtension(filename);
38
- const filenameWithoutExtension = getFilenameWithoutExtension(filename);
39
- return path.join(directory, `${filenameWithoutExtension}${suffix}.${extension}`);
40
- }
41
- export function addFilenamePrefix(pathname, prefix) {
42
- const directory = getDirectory(pathname);
43
- const filename = getFilename(pathname);
44
- return path.join(directory, `${prefix}${filename}`);
45
- }
46
- export function removeFilenamePrefix(pathname, prefix) {
47
- const directory = getDirectory(pathname);
48
- const filename = getFilename(pathname);
49
- if (!filename.startsWith(prefix))
50
- return pathname;
51
- return path.join(directory, filename.substring(prefix.length));
52
- }
53
- export function getFilenameWithoutExtension(filename) {
54
- return ((filename.includes(".") && filename.split(".").slice(0, -1).join(".")) ||
55
- filename);
56
- }
57
- export async function getAvailablePathname(pathname) {
58
- for (let i = 0; i < Number.MAX_SAFE_INTEGER; i++) {
59
- const availablePathname = i === 0 ? pathname : addFilenameSuffix(pathname, ` (${i})`);
60
- if (!fsSync.existsSync(availablePathname))
61
- return availablePathname;
62
- }
63
- return null;
64
- }
65
- export function getFilename(pathname) {
66
- return pathname.split("/").slice(-1)[0];
67
- }
68
- export function getDirectory(pathname) {
69
- return pathname.split("/").slice(0, -1).join("/");
70
- }
71
- export function normalizeFilename(filename) {
72
- return (filename
73
- .normalize("NFD")
74
- .replace(/[\u0300-\u036f]/g, "")
75
- // Avoid multiple characters
76
- .replace(/[ ]{2,}/g, " ")
77
- .replace(/[.]{2,}/g, ".")
78
- .replace(/[-]{2,}/g, "-")
79
- // Replace ' - ' to '-'
80
- .replace(/[ ][-][ ]/g, "-")
81
- .replace(/[-][ ]/g, "-")
82
- .replace(/[ ][-]/g, "-")
83
- // Replace space to '_'
84
- .replace(/[ ]/g, "_")
85
- // Remove all not allowed characters
86
- .replace(/[^-.0-9_a-zA-Z[]]/g, "")
87
- // Remove all not alphanumeric characters on start
88
- .replace(/^[^0-9a-zA-Z]/g, ""));
89
- }
@@ -1,4 +0,0 @@
1
- export declare function PathArgument(previous: string): string;
2
- export declare function NumericOption(previous: string): number;
3
- export declare function EnumOption<E extends readonly string[], T extends E[number]>(enumerator: E): (previous: string) => T;
4
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,UAI5C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,UAK7C;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EACzE,UAAU,EAAE,CAAC,cAEK,MAAM,KAAG,CAAC,CAQ7B"}
package/bin/main.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=main.d.ts.map
package/bin/main.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":""}