imagesctl 0.0.2 → 0.0.3

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/lib/cli.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { command, option, run, string } from "cmd-ts";
3
3
  import { loadConfig } from "./config.js";
4
4
  import { resolve } from "node:path";
5
- import { work } from "./imagectl.js";
5
+ import { work } from "./imagesctl.js";
6
6
  import { loadManifest } from "./manifest.js";
7
7
  import { writeFile } from "node:fs/promises";
8
8
  import { detailedDiff } from "deep-object-diff";
package/lib/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,GAAG,GAAG,OAAO,CAAC;IAChB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE;QACF,UAAU,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;YACV,YAAY,EAAE,GAAG,EAAE,CAAC,qBAAqB;SAC5C,CAAC;KACL;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG,OAAO,CACxB,UAAU,EACV,IAAI,EACJ,MAAM,CAAC,QAAQ,IAAI,eAAe,CACrC,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YAChE,QAAQ,EAAE,OAAO;SACpB,CAAC,CAAC;QAEH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,CAC5C,WAAW,EACX,WAAW,CACd,CAAC;QAEF,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,CAAC;CACJ,CAAC,CAAC;AAEH,KAAK,UAAU,MAAM,CAAC,IAAc;IAChC,IAAI,CAAC;QACD,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACV,2BAA2B;QAC3B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,GAAG,GAAG,OAAO,CAAC;IAChB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE;QACF,UAAU,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,GAAG;YACV,YAAY,EAAE,GAAG,EAAE,CAAC,qBAAqB;SAC5C,CAAC;KACL;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG,OAAO,CACxB,UAAU,EACV,IAAI,EACJ,MAAM,CAAC,QAAQ,IAAI,eAAe,CACrC,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAE9D,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;YAChE,QAAQ,EAAE,OAAO;SACpB,CAAC,CAAC;QAEH,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,CAC5C,WAAW,EACX,WAAW,CACd,CAAC;QAEF,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,CAAC;CACJ,CAAC,CAAC;AAEH,KAAK,UAAU,MAAM,CAAC,IAAc;IAChC,IAAI,CAAC;QACD,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACV,2BAA2B;QAC3B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/lib/config.d.ts CHANGED
@@ -30,6 +30,7 @@ export interface Config {
30
30
  manifest?: string;
31
31
  }
32
32
  export declare const Config: t.Type<Config>;
33
+ export declare function countOutputs(config: Config): number;
33
34
  export declare function isOutdated(inputPath: string, outputPath: string, overwrite: Overwrite): Promise<boolean>;
34
35
  export declare function loadConfig(path: string): Promise<Config>;
35
36
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAG3B,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAGtC,CAAC;AAEH,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAGhC,CAAC;AAEH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,aAAa,CAAC;CACvB;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAE1C,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpD,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAA6C,CAAC;AAE5E,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAExD,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAItC,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpC,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAGhC,CAAC;AAEH,MAAM,WAAW,MAAM;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAShC,CAAC;AAEH,wBAAsB,UAAU,CAC5B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,GACrB,OAAO,CAAC,OAAO,CAAC,CAelB;AAMD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAG3B,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAGtC,CAAC;AAEH,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAGhC,CAAC;AAEH,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,aAAa,CAAC;CACvB;AAED,eAAO,MAAM,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAE1C,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpD,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAA6C,CAAC;AAE5E,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAExD,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAItC,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpC,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAGhC,CAAC;AAEH,MAAM,WAAW,MAAM;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAShC,CAAC;AAEH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAsB,UAAU,CAC5B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,GACrB,OAAO,CAAC,OAAO,CAAC,CAelB;AAMD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9D"}
package/lib/config.js CHANGED
@@ -32,6 +32,9 @@ export const Config = t.type({
32
32
  formats: t.array(Format),
33
33
  manifest: t.union([t.undefined, t.string])
34
34
  });
35
+ export function countOutputs(config) {
36
+ return config.formats.length * Object.keys(config.modes).length;
37
+ }
35
38
  export async function isOutdated(inputPath, outputPath, overwrite) {
36
39
  if (overwrite == "always")
37
40
  return true;
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/lib/imagectl.js CHANGED
@@ -29,7 +29,7 @@ async function workFile(sourcePath, inputFile, destPath, config, oldManifest) {
29
29
  const parsed = path.parse(inputFile);
30
30
  const name = path.join(parsed.dir, parsed.name);
31
31
  const oldEntry = oldManifest[name] || {};
32
- const sharp0 = sharp(inputPath).autoOrient();
32
+ const sharp0 = sharp(inputPath, { failOnError: false }).autoOrient();
33
33
  const newEntry = {};
34
34
  for (const [title, mode] of Object.entries(config.modes)) {
35
35
  const sharp1 = resize(sharp0.clone(), mode);
@@ -1 +1 @@
1
- {"version":3,"file":"imagectl.js","sourceRoot":"","sources":["../src/imagectl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imagectl.js","sourceRoot":"","sources":["../src/imagectl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import * as Config from "./config.js";
2
+ import { type Manifest } from "./manifest.js";
3
+ export declare function work(configPath: string, config: Config.Config, oldManifest: Manifest): Promise<Manifest>;
4
+ //# sourceMappingURL=imagesctl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imagesctl.d.ts","sourceRoot":"","sources":["../src/imagesctl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAItC,OAAO,EAGH,KAAK,QAAQ,EAEhB,MAAM,eAAe,CAAC;AA+HvB,wBAAsB,IAAI,CACtB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,QAAQ,CAAC,CA+BnB"}
@@ -0,0 +1,109 @@
1
+ import sharp from "sharp";
2
+ import { SingleBar } from "cli-progress";
3
+ import * as Config from "./config.js";
4
+ import * as fs from "node:fs/promises";
5
+ import * as path from "node:path";
6
+ import { computeHashsum, log } from "./util.js";
7
+ import { ManifestEntry, mergeManifests } from "./manifest.js";
8
+ import { mkdirp } from "mkdirp";
9
+ function resize(sharp, mode) {
10
+ switch (mode.type) {
11
+ case "passthrough":
12
+ return sharp;
13
+ case "scaled":
14
+ return sharp.resize({
15
+ width: mode.size,
16
+ height: mode.size,
17
+ fit: "outside"
18
+ });
19
+ case "thumbnail":
20
+ return sharp.resize({
21
+ width: mode.size,
22
+ height: mode.size,
23
+ fit: "cover"
24
+ });
25
+ }
26
+ }
27
+ async function workFile(sourcePath, inputFile, destPath, config, oldManifest, tick) {
28
+ const inputPath = path.resolve(sourcePath, inputFile);
29
+ const parsed = path.parse(inputFile);
30
+ const name = path.join(parsed.dir, parsed.name);
31
+ const oldEntry = oldManifest[name] || {};
32
+ // https://github.com/lovell/sharp/issues/1578
33
+ const sharp0 = sharp(inputPath, { failOnError: false }).autoOrient();
34
+ const newEntry = {};
35
+ for (const [title, mode] of Object.entries(config.modes)) {
36
+ const sharp1 = resize(sharp0.clone(), mode);
37
+ let height;
38
+ let width;
39
+ const oldOutputs = (oldEntry[title] || {}).outputs;
40
+ const newOutputs = {};
41
+ for (const format of config.formats) {
42
+ const outputFile = parsed.name + "." + title + "." + format;
43
+ const outputDirPath = path.resolve(destPath, parsed.dir);
44
+ await mkdirp(outputDirPath);
45
+ const outputPath = path.resolve(outputDirPath, outputFile);
46
+ const outdated = await Config.isOutdated(inputPath, outputPath, config.overwrite);
47
+ if (!outdated) {
48
+ if (!oldOutputs || !oldOutputs[format])
49
+ throw new Error(`Resulting file ${outputFile} exists and is up-to-date, but not found in the manifest`);
50
+ newOutputs[format] = oldOutputs[format];
51
+ tick();
52
+ continue;
53
+ }
54
+ const sharp2 = sharp1.clone().toFormat(format, {
55
+ quality: config.quality,
56
+ mozjpeg: true
57
+ });
58
+ const { data, info } = await sharp2.toBuffer({
59
+ resolveWithObject: true
60
+ });
61
+ // we're overwriting this here but it should be the same across formats
62
+ height = info.height;
63
+ width = info.width;
64
+ newOutputs[format] = {
65
+ sha256sum: computeHashsum(data),
66
+ size: info.size
67
+ };
68
+ await fs.writeFile(outputPath, data);
69
+ tick();
70
+ }
71
+ if (!height) {
72
+ if (!oldEntry[title])
73
+ throw new Error(`No output generated for ${inputFile}; did you forget to specify a format?`);
74
+ height = oldEntry[title].height;
75
+ width = oldEntry[title].width;
76
+ }
77
+ newEntry[title] = { height, width, outputs: newOutputs };
78
+ }
79
+ return { [name]: newEntry };
80
+ }
81
+ async function listFiles(sourcePath, glob) {
82
+ log(`Scanning ${sourcePath} ...`);
83
+ const files = [];
84
+ for await (const file of fs.glob(glob || "**/*.*", {
85
+ cwd: sourcePath
86
+ })) {
87
+ files.push(file);
88
+ }
89
+ log(`Found ${files.length} files`);
90
+ return files;
91
+ }
92
+ export async function work(configPath, config, oldManifest) {
93
+ const sourcePath = path.resolve(configPath, "..", config.source);
94
+ const destPath = path.resolve(configPath, "..", config.dest);
95
+ const inputFiles = await listFiles(sourcePath, config.glob);
96
+ const outputCount = Config.countOutputs(config);
97
+ log(`Generating ${outputCount} outputs each`);
98
+ const bar = new SingleBar({
99
+ format: "{bar} | {value}/{total}"
100
+ });
101
+ bar.start(inputFiles.length * outputCount, 0);
102
+ const manifests = await Promise.all(inputFiles.map(async (inputFile) => {
103
+ const manifest = await workFile(sourcePath, inputFile, destPath, config, oldManifest, () => bar.increment(1));
104
+ return manifest;
105
+ }));
106
+ bar.stop();
107
+ return mergeManifests(...manifests);
108
+ }
109
+ //# sourceMappingURL=imagesctl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imagesctl.js","sourceRoot":"","sources":["../src/imagesctl.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from "./manifest.js";
2
2
  export * from "./config.js";
3
- export * from "./imagectl.js";
3
+ export * from "./imagesctl.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
package/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from "./manifest.js";
2
2
  export * from "./config.js";
3
- export * from "./imagectl.js";
3
+ export * from "./imagesctl.js";
4
4
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
@@ -2,7 +2,7 @@ import { mkdtempDisposable } from "node:fs/promises";
2
2
  import { join, resolve } from "node:path";
3
3
  import { loadConfig } from "../config.js";
4
4
  import { tmpdir } from "node:os";
5
- import { work } from "../imagectl.js";
5
+ import { work } from "../imagesctl.js";
6
6
  import { assert } from "chai";
7
7
  import { loadManifest } from "../manifest.js";
8
8
  describe("imagectl", function () {
@@ -1 +1 @@
1
- {"version":3,"file":"imagectl.test.js","sourceRoot":"","sources":["../../src/test/imagectl.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA0B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,QAAQ,CAAC,UAAU,EAAE;IACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEpB,IAAI,IAAuB,CAAC;IAE5B,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAExB,MAAM,WAAW,GAAG,MAAM,YAAY,CAClC,OAAO,CAAC,SAAS,EAAE,0BAA0B,CAAC,CACjD,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAErD,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"imagectl.test.js","sourceRoot":"","sources":["../../src/test/imagectl.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA0B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,QAAQ,CAAC,UAAU,EAAE;IACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEpB,IAAI,IAAuB,CAAC;IAE5B,UAAU,CAAC,KAAK,IAAI,EAAE;QAClB,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1C,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAExB,MAAM,WAAW,GAAG,MAAM,YAAY,CAClC,OAAO,CAAC,SAAS,EAAE,0BAA0B,CAAC,CACjD,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAErD,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "imagesctl",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "A tool to manage my (image) assets for my website",
5
5
  "repository": {
6
6
  "type": "git",