maxcso 0.1130.11 → 0.1130.13

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/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  | OS | Architectures |
15
15
  |---------|-------------------------------------------------------------|
16
- | Windows | <ul><li>x64</li><li>x86</li></ul> |
16
+ | Windows | <ul><li>x64</li><li>x86</li><li>arm64</li></ul> |
17
17
  | macOS | <ul><li>arm64 (Apple Silicon)</li><li>x64 (Intel)</li></ul> |
18
18
  | Linux | <ul><li>x64</li><li>x86</li><li>arm64 v8</li></ul> |
19
19
 
@@ -11,8 +11,15 @@ export declare enum MaxcsoBinaryPreference {
11
11
  */
12
12
  export default class MaxcsoBin {
13
13
  private static MAXCSO_BIN;
14
+ private static readonly MAXCSO_BIN_MUTEX;
14
15
  private static getBinPath;
15
16
  private static getBinPathBundled;
17
+ /**
18
+ * Look for maxcso binaries bundled with:
19
+ * `bun build --compile --asset-naming="[name].[ext]" maxcso *.dylib`
20
+ */
21
+ private static getBinPathBundledBun;
22
+ private static getTemporaryDirectory;
16
23
  private static getBinPathExisting;
17
24
  /**
18
25
  * Run maxcso with some arguments.
@@ -10,7 +10,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { promisify } from 'node:util';
11
11
  import fs from 'node:fs';
12
12
  import which from 'which';
13
- import * as child_process from 'node:child_process';
13
+ import child_process from 'node:child_process';
14
+ import { Mutex } from 'async-mutex';
15
+ import path from 'node:path';
16
+ import stream from 'node:stream';
17
+ import os from 'node:os';
18
+ import crypto from 'node:crypto';
14
19
  export var MaxcsoBinaryPreference;
15
20
  (function (MaxcsoBinaryPreference) {
16
21
  MaxcsoBinaryPreference[MaxcsoBinaryPreference["PREFER_BUNDLED_BINARY"] = 1] = "PREFER_BUNDLED_BINARY";
@@ -19,36 +24,129 @@ export var MaxcsoBinaryPreference;
19
24
  /**
20
25
  * Code to find and interact with the `maxcso` binary.
21
26
  */
22
- export default class MaxcsoBin {
27
+ class MaxcsoBin {
23
28
  static getBinPath(binaryPreference) {
24
29
  return __awaiter(this, void 0, void 0, function* () {
25
30
  if (this.MAXCSO_BIN) {
26
31
  return this.MAXCSO_BIN;
27
32
  }
28
- if ((binaryPreference !== null && binaryPreference !== void 0 ? binaryPreference : MaxcsoBinaryPreference.PREFER_BUNDLED_BINARY)
29
- === MaxcsoBinaryPreference.PREFER_BUNDLED_BINARY) {
30
- const pathBundled = yield this.getBinPathBundled();
31
- this.MAXCSO_BIN = pathBundled !== null && pathBundled !== void 0 ? pathBundled : (yield this.getBinPathExisting());
33
+ return this.MAXCSO_BIN_MUTEX.runExclusive(() => __awaiter(this, void 0, void 0, function* () {
34
+ if (this.MAXCSO_BIN) {
35
+ return this.MAXCSO_BIN;
36
+ }
37
+ if ((binaryPreference !== null && binaryPreference !== void 0 ? binaryPreference : MaxcsoBinaryPreference.PREFER_BUNDLED_BINARY)
38
+ === MaxcsoBinaryPreference.PREFER_BUNDLED_BINARY) {
39
+ const pathBundled = yield this.getBinPathBundled();
40
+ this.MAXCSO_BIN = pathBundled !== null && pathBundled !== void 0 ? pathBundled : (yield this.getBinPathExisting());
41
+ }
42
+ else {
43
+ const pathExisting = yield this.getBinPathExisting();
44
+ this.MAXCSO_BIN = pathExisting !== null && pathExisting !== void 0 ? pathExisting : (yield this.getBinPathBundled());
45
+ }
46
+ return this.MAXCSO_BIN;
47
+ }));
48
+ });
49
+ }
50
+ static getBinPathBundled() {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ const bunPath = yield this.getBinPathBundledBun();
53
+ if (bunPath !== undefined) {
54
+ return bunPath;
32
55
  }
33
- else {
34
- const pathExisting = yield this.getBinPathExisting();
35
- this.MAXCSO_BIN = pathExisting !== null && pathExisting !== void 0 ? pathExisting : (yield this.getBinPathBundled());
56
+ try {
57
+ const maxcso = yield import(`@emmercm/maxcso-${process.platform}-${process.arch}`);
58
+ const prebuilt = maxcso.default;
59
+ try {
60
+ yield promisify(fs.stat)(prebuilt);
61
+ return prebuilt;
62
+ }
63
+ catch ( /* ignored */_a) { /* ignored */ }
36
64
  }
37
- return this.MAXCSO_BIN;
65
+ catch ( /* ignored */_b) { /* ignored */ }
66
+ return undefined;
38
67
  });
39
68
  }
40
- static getBinPathBundled() {
69
+ /**
70
+ * Look for maxcso binaries bundled with:
71
+ * `bun build --compile --asset-naming="[name].[ext]" maxcso *.dylib`
72
+ */
73
+ static getBinPathBundledBun() {
41
74
  return __awaiter(this, void 0, void 0, function* () {
42
- // try {
43
- const maxcso = yield import(`@emmercm/maxcso-${process.platform}-${process.arch}`);
44
- const prebuilt = maxcso.default;
45
- if (yield promisify(fs.exists)(prebuilt)) {
46
- return prebuilt;
75
+ try {
76
+ const { embeddedFiles } = yield import('bun');
77
+ // Find all files that might be maxcso-related
78
+ const maxcsoBlob = embeddedFiles.find((blob) => {
79
+ // @ts-expect-error https://github.com/oven-sh/bun/issues/20700
80
+ const blobName = blob.name;
81
+ return blobName.toLowerCase().startsWith('maxcso');
82
+ });
83
+ if (maxcsoBlob !== undefined) {
84
+ // Create the temporary directory
85
+ const hash = crypto.createHash('md5');
86
+ yield maxcsoBlob.stream().pipeTo(new WritableStream({
87
+ write(chunk) {
88
+ hash.update(chunk);
89
+ },
90
+ }));
91
+ const temporaryDirectory = yield this.getTemporaryDirectory(`maxcso-${hash.digest('hex').slice(0, 7)}`);
92
+ // Find additional files that might be necessary
93
+ const dylibBlobs = embeddedFiles.filter((blob) => {
94
+ // @ts-expect-error https://github.com/oven-sh/bun/issues/20700
95
+ const blobName = blob.name;
96
+ return blobName.toLowerCase().endsWith('.dylib');
97
+ });
98
+ // Extract all files if necessary
99
+ const temporaryBlobs = yield Promise.all([maxcsoBlob, ...dylibBlobs].map((blob) => __awaiter(this, void 0, void 0, function* () {
100
+ // @ts-expect-error https://github.com/oven-sh/bun/issues/20700
101
+ const blobName = blob.name.replace(/-[\da-z]{8}\./, '.').replace(/\.+$/, '');
102
+ const temporaryBlob = path.join(temporaryDirectory, blobName);
103
+ try {
104
+ yield promisify(fs.stat)(temporaryBlob);
105
+ return temporaryBlob;
106
+ }
107
+ catch (_a) {
108
+ /* ignored */
109
+ }
110
+ const writableStream = stream.Writable.toWeb(fs.createWriteStream(temporaryBlob));
111
+ yield blob.stream().pipeTo(writableStream);
112
+ yield promisify(fs.chmod)(temporaryBlob, 0o755); // chmod +x
113
+ return temporaryBlob;
114
+ })));
115
+ return temporaryBlobs.find((temporaryBlob) => path.basename(temporaryBlob).startsWith('maxcso'));
116
+ }
47
117
  }
48
- // } catch { /* ignored */ }
118
+ catch ( /* ignored */_a) { /* ignored */ }
49
119
  return undefined;
50
120
  });
51
121
  }
122
+ static getTemporaryDirectory(temporaryDirectoryBasename) {
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ const candidateDirectories = [
125
+ path.join(os.tmpdir(), temporaryDirectoryBasename),
126
+ path.join(process.cwd(), '.maxcso', temporaryDirectoryBasename),
127
+ path.join(os.homedir(), '.maxcso', temporaryDirectoryBasename),
128
+ ];
129
+ /* eslint-disable no-await-in-loop */
130
+ for (const candidateDirectory of candidateDirectories) {
131
+ try {
132
+ try {
133
+ yield promisify(fs.stat)(candidateDirectory);
134
+ }
135
+ catch (_a) {
136
+ yield promisify(fs.mkdir)(candidateDirectory, { recursive: true });
137
+ }
138
+ const temporaryFile = path.join(candidateDirectory, temporaryDirectoryBasename);
139
+ yield promisify(fs.writeFile)(temporaryFile, temporaryFile);
140
+ yield promisify(fs.unlink)(temporaryFile);
141
+ return candidateDirectory;
142
+ }
143
+ catch (_b) {
144
+ /* ignored */
145
+ }
146
+ }
147
+ throw new Error("couldn't find a suitable temporary directory");
148
+ });
149
+ }
52
150
  static getBinPathExisting() {
53
151
  return __awaiter(this, void 0, void 0, function* () {
54
152
  const resolved = yield which(process.platform === 'win32' ? 'maxcso.exe' : 'maxcso', { nothrow: true });
@@ -97,4 +195,6 @@ export default class MaxcsoBin {
97
195
  });
98
196
  }
99
197
  }
198
+ MaxcsoBin.MAXCSO_BIN_MUTEX = new Mutex();
199
+ export default MaxcsoBin;
100
200
  //# sourceMappingURL=maxcsoBin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"maxcsoBin.js","sourceRoot":"","sources":["../../../src/maxcso/maxcsoBin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maxcsoBin.js","sourceRoot":"","sources":["../../../src/maxcso/maxcsoBin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maxcso",
3
- "version": "0.1130.11",
3
+ "version": "0.1130.13",
4
4
  "description": "💿 maxcso binaries and wrapper for Node.js.",
5
5
  "keywords": [
6
6
  "cso",
@@ -50,20 +50,23 @@
50
50
  "postpack": "rm ./LICENSE ./README.md"
51
51
  },
52
52
  "dependencies": {
53
- "which": "^4.0.0"
53
+ "async-mutex": "^0.5.0",
54
+ "which": "^6.0.1"
54
55
  },
55
56
  "optionalDependencies": {
56
- "@emmercm/maxcso-darwin-arm64": "^0.1130.11",
57
- "@emmercm/maxcso-darwin-x64": "^0.1130.11",
58
- "@emmercm/maxcso-linux-arm64": "^0.1130.11",
59
- "@emmercm/maxcso-linux-ia32": "^0.1130.11",
60
- "@emmercm/maxcso-linux-x64": "^0.1130.11",
61
- "@emmercm/maxcso-win32-ia32": "^0.1130.11",
62
- "@emmercm/maxcso-win32-x64": "^0.1130.11"
57
+ "@emmercm/maxcso-darwin-arm64": "^0.1130.13",
58
+ "@emmercm/maxcso-darwin-x64": "^0.1130.13",
59
+ "@emmercm/maxcso-linux-arm64": "^0.1130.13",
60
+ "@emmercm/maxcso-linux-ia32": "^0.1130.13",
61
+ "@emmercm/maxcso-linux-x64": "^0.1130.13",
62
+ "@emmercm/maxcso-win32-arm64": "^0.1130.13",
63
+ "@emmercm/maxcso-win32-ia32": "^0.1130.13",
64
+ "@emmercm/maxcso-win32-x64": "^0.1130.13"
63
65
  },
64
66
  "devDependencies": {
67
+ "@types/bun": "^1.3.10",
65
68
  "@types/jest": "^29.5.12",
66
- "@types/node": "^20.14.12",
69
+ "@types/node": "^25.3.5",
67
70
  "@types/which": "^3.0.4",
68
71
  "@typescript-eslint/eslint-plugin": "^7.17.0",
69
72
  "auto-changelog": "^2.4.0",
@@ -76,7 +79,7 @@
76
79
  "jest": "^29.7.0",
77
80
  "ts-jest": "^29.2.3",
78
81
  "ts-node": "^10.9.2",
79
- "typescript": "^5.5.4"
82
+ "typescript": "^5.8.3"
80
83
  },
81
84
  "//engines": [
82
85
  "Requires >=14.17.0 for TypeScript v5.1.",
@@ -92,5 +95,5 @@
92
95
  "volta": {
93
96
  "node": "20.11.1"
94
97
  },
95
- "gitHead": "93a931c20500720ecbe46b5655583035b93f0692"
98
+ "gitHead": "81e3f219c5bedfe0f10caff3993e51ef80531beb"
96
99
  }