@dxos/lock-file 0.1.56-main.e47dfd1 → 0.1.56-main.e79d64a
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/dist/lib/node/index.cjs
CHANGED
|
@@ -28,7 +28,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
28
28
|
var import_fs_ext = require("fs-ext");
|
|
29
29
|
var import_node_fs = require("node:fs");
|
|
30
30
|
var import_promises = require("node:fs/promises");
|
|
31
|
-
var LockFile = class {
|
|
31
|
+
var LockFile = class _LockFile {
|
|
32
32
|
static async acquire(filename) {
|
|
33
33
|
const handle = await (0, import_promises.open)(filename, import_node_fs.constants.O_CREAT);
|
|
34
34
|
await new Promise((resolve, reject) => {
|
|
@@ -56,8 +56,8 @@ var LockFile = class {
|
|
|
56
56
|
}
|
|
57
57
|
static async isLocked(filename) {
|
|
58
58
|
try {
|
|
59
|
-
const handle = await
|
|
60
|
-
await
|
|
59
|
+
const handle = await _LockFile.acquire(filename);
|
|
60
|
+
await _LockFile.release(handle);
|
|
61
61
|
await handle.close();
|
|
62
62
|
return false;
|
|
63
63
|
} catch (e) {
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/index.ts", "../../../src/lock-file.ts"],
|
|
4
4
|
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nexport * from './lock-file';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { flock } from 'fs-ext';\nimport { constants } from 'node:fs';\nimport { open, FileHandle } from 'node:fs/promises';\n\nexport class LockFile {\n static async acquire(filename: string): Promise<FileHandle> {\n const handle = await open(filename, constants.O_CREAT);\n await new Promise<void>((resolve, reject) => {\n flock(handle.fd, 'exnb', (err) => {\n if (err) {\n reject(err);\n return;\n }\n resolve();\n });\n });\n return handle;\n }\n\n static async release(handle: FileHandle): Promise<void> {\n await new Promise<void>((resolve, reject) => {\n flock(handle.fd, 'un', (err) => {\n if (err) {\n reject(err);\n return;\n }\n resolve();\n });\n });\n await handle.close();\n }\n\n static async isLocked(filename: string): Promise<boolean> {\n try {\n const handle = await LockFile.acquire(filename);\n await LockFile.release(handle);\n await handle.close();\n\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACIA,oBAAsB;AACtB,qBAA0B;AAC1B,sBAAiC;AAE1B,IAAMA,WAAN,MAAMA;EACX,aAAaC,QAAQC,UAAuC;AAC1D,UAAMC,SAAS,UAAMC,sBAAKF,UAAUG,yBAAUC,OAAO;AACrD,UAAM,IAAIC,QAAc,CAACC,SAASC,WAAAA;AAChCC,+BAAMP,OAAOQ,IAAI,QAAQ,CAACC,QAAAA;AACxB,YAAIA,KAAK;AACPH,iBAAOG,GAAAA;AACP;QACF;AACAJ,gBAAAA;MACF,CAAA;IACF,CAAA;AACA,WAAOL;EACT;EAEA,aAAaU,QAAQV,QAAmC;AACtD,UAAM,IAAII,QAAc,CAACC,SAASC,WAAAA;AAChCC,+BAAMP,OAAOQ,IAAI,MAAM,CAACC,QAAAA;AACtB,YAAIA,KAAK;AACPH,iBAAOG,GAAAA;AACP;QACF;AACAJ,gBAAAA;MACF,CAAA;IACF,CAAA;AACA,UAAML,OAAOW,MAAK;EACpB;EAEA,aAAaC,SAASb,UAAoC;AACxD,QAAI;AACF,YAAMC,SAAS,MAAMH,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACIA,oBAAsB;AACtB,qBAA0B;AAC1B,sBAAiC;AAE1B,IAAMA,WAAN,MAAMA,UAAAA;EACX,aAAaC,QAAQC,UAAuC;AAC1D,UAAMC,SAAS,UAAMC,sBAAKF,UAAUG,yBAAUC,OAAO;AACrD,UAAM,IAAIC,QAAc,CAACC,SAASC,WAAAA;AAChCC,+BAAMP,OAAOQ,IAAI,QAAQ,CAACC,QAAAA;AACxB,YAAIA,KAAK;AACPH,iBAAOG,GAAAA;AACP;QACF;AACAJ,gBAAAA;MACF,CAAA;IACF,CAAA;AACA,WAAOL;EACT;EAEA,aAAaU,QAAQV,QAAmC;AACtD,UAAM,IAAII,QAAc,CAACC,SAASC,WAAAA;AAChCC,+BAAMP,OAAOQ,IAAI,MAAM,CAACC,QAAAA;AACtB,YAAIA,KAAK;AACPH,iBAAOG,GAAAA;AACP;QACF;AACAJ,gBAAAA;MACF,CAAA;IACF,CAAA;AACA,UAAML,OAAOW,MAAK;EACpB;EAEA,aAAaC,SAASb,UAAoC;AACxD,QAAI;AACF,YAAMC,SAAS,MAAMH,UAASC,QAAQC,QAAAA;AACtC,YAAMF,UAASa,QAAQV,MAAAA;AACvB,YAAMA,OAAOW,MAAK;AAElB,aAAO;IACT,SAASE,GAAG;AACV,aAAO;IACT;EACF;AACF;",
|
|
6
6
|
"names": ["LockFile", "acquire", "filename", "handle", "open", "constants", "O_CREAT", "Promise", "resolve", "reject", "flock", "fd", "err", "release", "close", "isLocked", "e"]
|
|
7
7
|
}
|
package/dist/lib/node/meta.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"packages/common/lock-file/src/lock-file.ts":{"bytes":4104,"imports":[{"path":"fs-ext","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true}]},"packages/common/lock-file/src/index.ts":{"bytes":470,"imports":[{"path":"packages/common/lock-file/src/lock-file.ts","kind":"import-statement","original":"./lock-file"}]}},"outputs":{"packages/common/lock-file/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":
|
|
1
|
+
{"inputs":{"packages/common/lock-file/src/lock-file.ts":{"bytes":4104,"imports":[{"path":"fs-ext","kind":"import-statement","external":true},{"path":"node:fs","kind":"import-statement","external":true},{"path":"node:fs/promises","kind":"import-statement","external":true}],"format":"esm"},"packages/common/lock-file/src/index.ts":{"bytes":470,"imports":[{"path":"packages/common/lock-file/src/lock-file.ts","kind":"import-statement","original":"./lock-file"}],"format":"esm"}},"outputs":{"packages/common/lock-file/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2251},"packages/common/lock-file/dist/lib/node/index.cjs":{"imports":[{"path":"fs-ext","kind":"require-call","external":true},{"path":"node:fs","kind":"require-call","external":true},{"path":"node:fs/promises","kind":"require-call","external":true}],"exports":[],"entryPoint":"packages/common/lock-file/src/index.ts","inputs":{"packages/common/lock-file/src/index.ts":{"bytesInOutput":121},"packages/common/lock-file/src/lock-file.ts":{"bytesInOutput":1044}},"bytes":2191}}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/lock-file",
|
|
3
|
-
"version": "0.1.56-main.
|
|
3
|
+
"version": "0.1.56-main.e79d64a",
|
|
4
4
|
"description": "Lock file .",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
],
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"fs-ext": "^2.0.0",
|
|
17
|
-
"@dxos/async": "0.1.56-main.
|
|
18
|
-
"@dxos/log": "0.1.56-main.
|
|
19
|
-
"@dxos/node-std": "0.1.56-main.
|
|
17
|
+
"@dxos/async": "0.1.56-main.e79d64a",
|
|
18
|
+
"@dxos/log": "0.1.56-main.e79d64a",
|
|
19
|
+
"@dxos/node-std": "0.1.56-main.e79d64a"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/fs-ext": "^2.0.0",
|