===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
node-proper-lockfile-4.1.1/README.md-21-
node-proper-lockfile-4.1.1/README.md:22:`$ npm install proper-lockfile`
node-proper-lockfile-4.1.1/README.md-23-
##############################################
node-proper-lockfile-4.1.1/README.md-174-
node-proper-lockfile-4.1.1/README.md:175:`$ npm test`   
node-proper-lockfile-4.1.1/README.md:176:`$ npm test -- --watch` during development
node-proper-lockfile-4.1.1/README.md-177-
##############################################
node-proper-lockfile-4.1.1/lib/adapter.js-14-            try {
node-proper-lockfile-4.1.1/lib/adapter.js:15:                ret = fs[`${method}Sync`](...args);
node-proper-lockfile-4.1.1/lib/adapter.js-16-            } catch (err) {
##############################################
node-proper-lockfile-4.1.1/lib/lockfile.js-11-function getLockFile(file, options) {
node-proper-lockfile-4.1.1/lib/lockfile.js:12:    return options.lockfilePath || `${file}.lock`;
node-proper-lockfile-4.1.1/lib/lockfile.js-13-}
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-9-
node-proper-lockfile-4.1.1/test/check.test.js:10:const tmpDir = `${__dirname}/tmp`;
node-proper-lockfile-4.1.1/test/check.test.js-11-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-17-    await unlockAll();
node-proper-lockfile-4.1.1/test/check.test.js:18:    rimraf.sync(`${tmpDir}/*`);
node-proper-lockfile-4.1.1/test/check.test.js-19-});
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-24-    try {
node-proper-lockfile-4.1.1/test/check.test.js:25:        await lockfile.check(`${tmpDir}/some-file-that-will-never-exist`);
node-proper-lockfile-4.1.1/test/check.test.js-26-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-31-it('should not fail if the file does not exist and realpath is false', async () => {
node-proper-lockfile-4.1.1/test/check.test.js:32:    await lockfile.check(`${tmpDir}/some-file-that-will-never-exist`, { realpath: false });
node-proper-lockfile-4.1.1/test/check.test.js-33-});
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-35-it('should return a promise', async () => {
node-proper-lockfile-4.1.1/test/check.test.js:36:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/check.test.js-37-
node-proper-lockfile-4.1.1/test/check.test.js:38:    const promise = lockfile.check(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/check.test.js-39-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-45-it('should resolve with true if file is locked', async () => {
node-proper-lockfile-4.1.1/test/check.test.js:46:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/check.test.js-47-
node-proper-lockfile-4.1.1/test/check.test.js:48:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/check.test.js-49-
node-proper-lockfile-4.1.1/test/check.test.js:50:    const isLocked = await lockfile.check(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/check.test.js-51-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-55-it('should resolve with false if file is not locked', async () => {
node-proper-lockfile-4.1.1/test/check.test.js:56:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/check.test.js-57-
node-proper-lockfile-4.1.1/test/check.test.js:58:    const isLocked = await lockfile.check(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/check.test.js-59-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-71-    try {
node-proper-lockfile-4.1.1/test/check.test.js:72:        await lockfile.check(`${tmpDir}/foo`, { fs: customFs });
node-proper-lockfile-4.1.1/test/check.test.js-73-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-78-it('should resolve symlinks by default', async () => {
node-proper-lockfile-4.1.1/test/check.test.js:79:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/check.test.js:80:    fs.symlinkSync(`${tmpDir}/foo`, `${tmpDir}/bar`);
node-proper-lockfile-4.1.1/test/check.test.js-81-
node-proper-lockfile-4.1.1/test/check.test.js:82:    await lockfile.lock(`${tmpDir}/bar`);
node-proper-lockfile-4.1.1/test/check.test.js-83-
node-proper-lockfile-4.1.1/test/check.test.js:84:    let isLocked = await lockfile.check(`${tmpDir}/bar`);
node-proper-lockfile-4.1.1/test/check.test.js-85-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-87-
node-proper-lockfile-4.1.1/test/check.test.js:88:    isLocked = await lockfile.check(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/check.test.js-89-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-93-it('should not resolve symlinks if realpath is false', async () => {
node-proper-lockfile-4.1.1/test/check.test.js:94:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/check.test.js:95:    fs.symlinkSync(`${tmpDir}/foo`, `${tmpDir}/bar`);
node-proper-lockfile-4.1.1/test/check.test.js-96-
node-proper-lockfile-4.1.1/test/check.test.js:97:    await lockfile.lock(`${tmpDir}/bar`, { realpath: false });
node-proper-lockfile-4.1.1/test/check.test.js-98-
node-proper-lockfile-4.1.1/test/check.test.js:99:    let isLocked = await lockfile.check(`${tmpDir}/bar`, { realpath: false });
node-proper-lockfile-4.1.1/test/check.test.js-100-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-102-
node-proper-lockfile-4.1.1/test/check.test.js:103:    isLocked = await lockfile.check(`${tmpDir}/foo`, { realpath: false });
node-proper-lockfile-4.1.1/test/check.test.js-104-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-108-it('should fail if stating the lockfile errors out when verifying staleness', async () => {
node-proper-lockfile-4.1.1/test/check.test.js:109:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/check.test.js-110-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-116-
node-proper-lockfile-4.1.1/test/check.test.js:117:    fs.mkdirSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/check.test.js:118:    fs.utimesSync(`${tmpDir}/foo.lock`, mtime, mtime);
node-proper-lockfile-4.1.1/test/check.test.js-119-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-122-    try {
node-proper-lockfile-4.1.1/test/check.test.js:123:        await lockfile.check(`${tmpDir}/foo`, { fs: customFs });
node-proper-lockfile-4.1.1/test/check.test.js-124-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-129-it('should set stale to a minimum of 2000', async () => {
node-proper-lockfile-4.1.1/test/check.test.js:130:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/check.test.js:131:    fs.mkdirSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/check.test.js-132-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-136-
node-proper-lockfile-4.1.1/test/check.test.js:137:    let isLocked = await lockfile.check(`${tmpDir}/foo`, { stale: 100 });
node-proper-lockfile-4.1.1/test/check.test.js-138-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-142-
node-proper-lockfile-4.1.1/test/check.test.js:143:    isLocked = await lockfile.check(`${tmpDir}/foo`, { stale: 100 });
node-proper-lockfile-4.1.1/test/check.test.js-144-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-148-it('should set stale to a minimum of 2000 (falsy)', async () => {
node-proper-lockfile-4.1.1/test/check.test.js:149:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/check.test.js:150:    fs.mkdirSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/check.test.js-151-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-155-
node-proper-lockfile-4.1.1/test/check.test.js:156:    let isLocked = await lockfile.check(`${tmpDir}/foo`, { stale: false });
node-proper-lockfile-4.1.1/test/check.test.js-157-
##############################################
node-proper-lockfile-4.1.1/test/check.test.js-161-
node-proper-lockfile-4.1.1/test/check.test.js:162:    isLocked = await lockfile.check(`${tmpDir}/foo`, { stale: false });
node-proper-lockfile-4.1.1/test/check.test.js-163-
##############################################
node-proper-lockfile-4.1.1/test/fixtures/compromised.js-5-
node-proper-lockfile-4.1.1/test/fixtures/compromised.js:6:const tmpDir = `${__dirname}/../tmp`;
node-proper-lockfile-4.1.1/test/fixtures/compromised.js-7-
node-proper-lockfile-4.1.1/test/fixtures/compromised.js:8:fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/fixtures/compromised.js-9-
node-proper-lockfile-4.1.1/test/fixtures/compromised.js:10:lockfile.lockSync(`${tmpDir}/foo`, { update: 1000 });
node-proper-lockfile-4.1.1/test/fixtures/compromised.js-11-
node-proper-lockfile-4.1.1/test/fixtures/compromised.js:12:fs.rmdirSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/fixtures/compromised.js-13-
##############################################
node-proper-lockfile-4.1.1/test/fixtures/compromised.js-17-process.on('uncaughtException', (err) => {
node-proper-lockfile-4.1.1/test/fixtures/compromised.js:18:    err.code && process.stderr.write(`${err.code}\n\n`);
node-proper-lockfile-4.1.1/test/fixtures/compromised.js-19-    throw err;
##############################################
node-proper-lockfile-4.1.1/test/fixtures/crash.js-5-
node-proper-lockfile-4.1.1/test/fixtures/crash.js:6:const tmpDir = `${__dirname}/../tmp`;
node-proper-lockfile-4.1.1/test/fixtures/crash.js-7-
node-proper-lockfile-4.1.1/test/fixtures/crash.js:8:fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/fixtures/crash.js-9-
node-proper-lockfile-4.1.1/test/fixtures/crash.js:10:lockfile.lockSync(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/fixtures/crash.js-11-
##############################################
node-proper-lockfile-4.1.1/test/fixtures/stress.js-9-
node-proper-lockfile-4.1.1/test/fixtures/stress.js:10:const tmpDir = `${__dirname}/../tmp`;
node-proper-lockfile-4.1.1/test/fixtures/stress.js-11-
##############################################
node-proper-lockfile-4.1.1/test/fixtures/stress.js-21-    .slice(startIndex, endIndex)
node-proper-lockfile-4.1.1/test/fixtures/stress.js:22:    .forEach((log, index) => process.stdout.write(`${startIndex + index + 1} ${log.timestamp} ${log.message}\n`));
node-proper-lockfile-4.1.1/test/fixtures/stress.js-23-}
##############################################
node-proper-lockfile-4.1.1/test/fixtures/stress.js-28-
node-proper-lockfile-4.1.1/test/fixtures/stress.js:29:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/fixtures/stress.js-30-
##############################################
node-proper-lockfile-4.1.1/test/fixtures/stress.js-78-                if (acquired) {
node-proper-lockfile-4.1.1/test/fixtures/stress.js:79:                    process.stdout.write(`\nInconsistent at line ${index + 1}\n`);
node-proper-lockfile-4.1.1/test/fixtures/stress.js-80-                    printExcerpt(logs, index);
##############################################
node-proper-lockfile-4.1.1/test/fixtures/stress.js-87-                if (!acquired) {
node-proper-lockfile-4.1.1/test/fixtures/stress.js:88:                    process.stdout.write(`\nInconsistent at line ${index + 1}\n`);
node-proper-lockfile-4.1.1/test/fixtures/stress.js-89-                    printExcerpt(logs, index);
##############################################
node-proper-lockfile-4.1.1/test/fixtures/stress.js-109-
node-proper-lockfile-4.1.1/test/fixtures/stress.js:110:        process.send(`${Date.now()} LOCK_TRY\n`);
node-proper-lockfile-4.1.1/test/fixtures/stress.js-111-
##############################################
node-proper-lockfile-4.1.1/test/fixtures/stress.js-114-        try {
node-proper-lockfile-4.1.1/test/fixtures/stress.js:115:            release = await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/fixtures/stress.js-116-        } catch (err) {
node-proper-lockfile-4.1.1/test/fixtures/stress.js:117:            process.send(`${Date.now()} LOCK_BUSY\n`);
node-proper-lockfile-4.1.1/test/fixtures/stress.js-118-            tryLock();
##############################################
node-proper-lockfile-4.1.1/test/fixtures/stress.js-122-
node-proper-lockfile-4.1.1/test/fixtures/stress.js:123:        process.send(`${Date.now()} LOCK_ACQUIRED\n`);
node-proper-lockfile-4.1.1/test/fixtures/stress.js-124-
##############################################
node-proper-lockfile-4.1.1/test/fixtures/stress.js-126-
node-proper-lockfile-4.1.1/test/fixtures/stress.js:127:        process.send(`${Date.now()} LOCK_RELEASE_CALLED\n`);
node-proper-lockfile-4.1.1/test/fixtures/stress.js-128-
##############################################
node-proper-lockfile-4.1.1/test/fixtures/unref.js-5-
node-proper-lockfile-4.1.1/test/fixtures/unref.js:6:const tmpDir = `${__dirname}/../tmp`;
node-proper-lockfile-4.1.1/test/fixtures/unref.js-7-
node-proper-lockfile-4.1.1/test/fixtures/unref.js:8:fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/fixtures/unref.js-9-
node-proper-lockfile-4.1.1/test/fixtures/unref.js:10:lockfile.lockSync(`${tmpDir}/foo`);
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-13-
node-proper-lockfile-4.1.1/test/lock.test.js:14:const tmpDir = `${__dirname}/tmp`;
node-proper-lockfile-4.1.1/test/lock.test.js-15-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-26-    await unlockAll();
node-proper-lockfile-4.1.1/test/lock.test.js:27:    rimraf.sync(`${tmpDir}/*`);
node-proper-lockfile-4.1.1/test/lock.test.js-28-});
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-37-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:38:        await lockfile.lock(`${tmpDir}/some-file-that-will-never-exist`);
node-proper-lockfile-4.1.1/test/lock.test.js-39-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-44-it('should not fail if the file does not exist and realpath is false', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:45:    await lockfile.lock(`${tmpDir}/some-file-that-will-never-exist`, { realpath: false });
node-proper-lockfile-4.1.1/test/lock.test.js-46-});
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-51-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:52:        await lockfile.lock(`${tmpDir}/some-dir-that-will-never-exist/foo`);
node-proper-lockfile-4.1.1/test/lock.test.js-53-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-58-it('should return a promise for a release function', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:59:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-60-
node-proper-lockfile-4.1.1/test/lock.test.js:61:    const promise = lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/lock.test.js-62-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-70-it('should create the lockfile', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:71:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-72-
node-proper-lockfile-4.1.1/test/lock.test.js:73:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/lock.test.js-74-
node-proper-lockfile-4.1.1/test/lock.test.js:75:    expect(fs.existsSync(`${tmpDir}/foo`)).toBe(true);
node-proper-lockfile-4.1.1/test/lock.test.js-76-});
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-78-it('should create the lockfile inside a folder', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:79:    fs.mkdirSync(`${tmpDir}/foo-dir`);
node-proper-lockfile-4.1.1/test/lock.test.js-80-
node-proper-lockfile-4.1.1/test/lock.test.js:81:    await lockfile.lock(`${tmpDir}/foo-dir`, { lockfilePath: `${tmpDir}/foo-dir/dir.lock` });
node-proper-lockfile-4.1.1/test/lock.test.js-82-
node-proper-lockfile-4.1.1/test/lock.test.js:83:    expect(fs.existsSync(`${tmpDir}/foo-dir/dir.lock`)).toBe(true);
node-proper-lockfile-4.1.1/test/lock.test.js-84-});
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-86-it('should fail if already locked', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:87:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-88-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-90-
node-proper-lockfile-4.1.1/test/lock.test.js:91:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/lock.test.js-92-
node-proper-lockfile-4.1.1/test/lock.test.js-93-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:94:        await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/lock.test.js-95-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-100-it('should fail if mkdir fails for an unknown reason', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:101:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-102-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-110-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:111:        await lockfile.lock(`${tmpDir}/foo`, { fs: customFs });
node-proper-lockfile-4.1.1/test/lock.test.js-112-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-117-it('should retry several times if retries were specified', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:118:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-119-
node-proper-lockfile-4.1.1/test/lock.test.js:120:    const release = await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/lock.test.js-121-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-123-
node-proper-lockfile-4.1.1/test/lock.test.js:124:    await lockfile.lock(`${tmpDir}/foo`, { retries: { retries: 5, maxTimeout: 1000 } });
node-proper-lockfile-4.1.1/test/lock.test.js-125-});
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-135-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:136:        await lockfile.lock(`${tmpDir}/foo`, { fs: customFs });
node-proper-lockfile-4.1.1/test/lock.test.js-137-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-142-it('should resolve symlinks by default', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:143:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js:144:    fs.symlinkSync(`${tmpDir}/foo`, `${tmpDir}/bar`);
node-proper-lockfile-4.1.1/test/lock.test.js-145-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-147-
node-proper-lockfile-4.1.1/test/lock.test.js:148:    await lockfile.lock(`${tmpDir}/bar`);
node-proper-lockfile-4.1.1/test/lock.test.js-149-
node-proper-lockfile-4.1.1/test/lock.test.js-150-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:151:        await lockfile.lock(`${tmpDir}/bar`);
node-proper-lockfile-4.1.1/test/lock.test.js-152-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-156-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:157:        await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/lock.test.js-158-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-163-it('should not resolve symlinks if realpath is false', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:164:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js:165:    fs.symlinkSync(`${tmpDir}/foo`, `${tmpDir}/bar`);
node-proper-lockfile-4.1.1/test/lock.test.js-166-
node-proper-lockfile-4.1.1/test/lock.test.js:167:    await lockfile.lock(`${tmpDir}/bar`, { realpath: false });
node-proper-lockfile-4.1.1/test/lock.test.js:168:    await lockfile.lock(`${tmpDir}/foo`, { realpath: false });
node-proper-lockfile-4.1.1/test/lock.test.js-169-
node-proper-lockfile-4.1.1/test/lock.test.js:170:    expect(fs.existsSync(`${tmpDir}/bar.lock`)).toBe(true);
node-proper-lockfile-4.1.1/test/lock.test.js:171:    expect(fs.existsSync(`${tmpDir}/foo.lock`)).toBe(true);
node-proper-lockfile-4.1.1/test/lock.test.js-172-});
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-176-
node-proper-lockfile-4.1.1/test/lock.test.js:177:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js:178:    fs.mkdirSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/lock.test.js:179:    fs.utimesSync(`${tmpDir}/foo.lock`, mtime, mtime);
node-proper-lockfile-4.1.1/test/lock.test.js-180-
node-proper-lockfile-4.1.1/test/lock.test.js:181:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/lock.test.js-182-
node-proper-lockfile-4.1.1/test/lock.test.js:183:    expect(fs.statSync(`${tmpDir}/foo.lock`).mtime.getTime()).toBeGreaterThan(Date.now() - 3000);
node-proper-lockfile-4.1.1/test/lock.test.js-184-});
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-193-            if (count % 2 === 0) {
node-proper-lockfile-4.1.1/test/lock.test.js:194:                rimraf.sync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/lock.test.js-195-            }
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-200-
node-proper-lockfile-4.1.1/test/lock.test.js:201:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js:202:    fs.mkdirSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/lock.test.js:203:    fs.utimesSync(`${tmpDir}/foo.lock`, mtime, mtime);
node-proper-lockfile-4.1.1/test/lock.test.js-204-
node-proper-lockfile-4.1.1/test/lock.test.js:205:    await lockfile.lock(`${tmpDir}/foo`, { fs: customFs });
node-proper-lockfile-4.1.1/test/lock.test.js-206-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-208-    expect(customFs.stat).toHaveBeenCalledTimes(2);
node-proper-lockfile-4.1.1/test/lock.test.js:209:    expect(fs.statSync(`${tmpDir}/foo.lock`).mtime.getTime()).toBeGreaterThan(Date.now() - 3000);
node-proper-lockfile-4.1.1/test/lock.test.js-210-});
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-219-
node-proper-lockfile-4.1.1/test/lock.test.js:220:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js:221:    fs.mkdirSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/lock.test.js:222:    fs.utimesSync(`${tmpDir}/foo.lock`, mtime, mtime);
node-proper-lockfile-4.1.1/test/lock.test.js-223-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-226-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:227:        await lockfile.lock(`${tmpDir}/foo`, { fs: customFs });
node-proper-lockfile-4.1.1/test/lock.test.js-228-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-241-
node-proper-lockfile-4.1.1/test/lock.test.js:242:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js:243:    fs.mkdirSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/lock.test.js:244:    fs.utimesSync(`${tmpDir}/foo.lock`, mtime, mtime);
node-proper-lockfile-4.1.1/test/lock.test.js-245-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-248-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:249:        await lockfile.lock(`${tmpDir}/foo`, { fs: customFs });
node-proper-lockfile-4.1.1/test/lock.test.js-250-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-265-
node-proper-lockfile-4.1.1/test/lock.test.js:266:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js:267:    fs.mkdirSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/lock.test.js:268:    fs.utimesSync(`${tmpDir}/foo.lock`, mtime, mtime);
node-proper-lockfile-4.1.1/test/lock.test.js-269-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-272-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:273:        await lockfile.lock(`${tmpDir}/foo`, { fs: customFs });
node-proper-lockfile-4.1.1/test/lock.test.js-274-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-279-it('should update the lockfile mtime automatically', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:280:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-281-
node-proper-lockfile-4.1.1/test/lock.test.js:282:    await lockfile.lock(`${tmpDir}/foo`, { update: 1500 });
node-proper-lockfile-4.1.1/test/lock.test.js-283-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-285-
node-proper-lockfile-4.1.1/test/lock.test.js:286:    let mtime = fs.statSync(`${tmpDir}/foo.lock`).mtime;
node-proper-lockfile-4.1.1/test/lock.test.js-287-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-290-
node-proper-lockfile-4.1.1/test/lock.test.js:291:    let stat = fs.statSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/lock.test.js-292-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-298-
node-proper-lockfile-4.1.1/test/lock.test.js:299:    stat = fs.statSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/lock.test.js-300-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-304-it('should set stale to a minimum of 2000', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:305:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js:306:    fs.mkdirSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/lock.test.js-307-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-312-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:313:        await lockfile.lock(`${tmpDir}/foo`, { stale: 100 });
node-proper-lockfile-4.1.1/test/lock.test.js-314-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-319-
node-proper-lockfile-4.1.1/test/lock.test.js:320:    await lockfile.lock(`${tmpDir}/foo`, { stale: 100 });
node-proper-lockfile-4.1.1/test/lock.test.js-321-});
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-323-it('should set stale to a minimum of 2000 (falsy)', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:324:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js:325:    fs.mkdirSync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/lock.test.js-326-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-331-    try {
node-proper-lockfile-4.1.1/test/lock.test.js:332:        await lockfile.lock(`${tmpDir}/foo`, { stale: false });
node-proper-lockfile-4.1.1/test/lock.test.js-333-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-338-
node-proper-lockfile-4.1.1/test/lock.test.js:339:    await lockfile.lock(`${tmpDir}/foo`, { stale: false });
node-proper-lockfile-4.1.1/test/lock.test.js-340-});
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-342-it('should call the compromised function if ENOENT was detected when updating the lockfile mtime', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:343:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-344-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-350-
node-proper-lockfile-4.1.1/test/lock.test.js:351:        await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/lock.test.js-352-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-355-
node-proper-lockfile-4.1.1/test/lock.test.js:356:    await lockfile.lock(`${tmpDir}/foo`, { update: 1000, onCompromised: handleCompromised });
node-proper-lockfile-4.1.1/test/lock.test.js-357-
node-proper-lockfile-4.1.1/test/lock.test.js-358-    // Remove the file to trigger onCompromised
node-proper-lockfile-4.1.1/test/lock.test.js:359:    rimraf.sync(`${tmpDir}/foo.lock`);
node-proper-lockfile-4.1.1/test/lock.test.js-360-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-364-it('should call the compromised function if failed to update the lockfile mtime too many times (stat)', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:365:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-366-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-377-
node-proper-lockfile-4.1.1/test/lock.test.js:378:    await lockfile.lock(`${tmpDir}/foo`, {
node-proper-lockfile-4.1.1/test/lock.test.js-379-        fs: customFs,
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-390-it('should call the compromised function if failed to update the lockfile mtime too many times (utimes)', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:391:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-392-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-403-
node-proper-lockfile-4.1.1/test/lock.test.js:404:    await lockfile.lock(`${tmpDir}/foo`, {
node-proper-lockfile-4.1.1/test/lock.test.js-405-        fs: customFs,
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-416-it('should call the compromised function if updating the lockfile took too much time', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:417:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-418-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-429-
node-proper-lockfile-4.1.1/test/lock.test.js:430:    await lockfile.lock(`${tmpDir}/foo`, {
node-proper-lockfile-4.1.1/test/lock.test.js-431-        fs: customFs,
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-442-it('should call the compromised function if lock was acquired by someone else due to staleness', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:443:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-444-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-450-        expect(err.code).toBe('ECOMPROMISED');
node-proper-lockfile-4.1.1/test/lock.test.js:451:        expect(fs.existsSync(`${tmpDir}/foo.lock`)).toBe(true);
node-proper-lockfile-4.1.1/test/lock.test.js-452-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-455-
node-proper-lockfile-4.1.1/test/lock.test.js:456:    await lockfile.lock(`${tmpDir}/foo`, {
node-proper-lockfile-4.1.1/test/lock.test.js-457-        fs: customFs,
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-466-
node-proper-lockfile-4.1.1/test/lock.test.js:467:    await lockfile.lock(`${tmpDir}/foo`, { stale: 3000 });
node-proper-lockfile-4.1.1/test/lock.test.js-468-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-472-it('should throw an error by default when the lock is compromised', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:473:    const { stderr } = await execa('node', [`${__dirname}/fixtures/compromised.js`], { reject: false });
node-proper-lockfile-4.1.1/test/lock.test.js-474-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-478-it('should set update to a minimum of 1000', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:479:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-480-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-482-
node-proper-lockfile-4.1.1/test/lock.test.js:483:    await lockfile.lock(`${tmpDir}/foo`, { update: 100 });
node-proper-lockfile-4.1.1/test/lock.test.js-484-
node-proper-lockfile-4.1.1/test/lock.test.js:485:    const mtime = fs.statSync(`${tmpDir}/foo.lock`).mtime.getTime();
node-proper-lockfile-4.1.1/test/lock.test.js-486-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-488-
node-proper-lockfile-4.1.1/test/lock.test.js:489:    expect(mtime).toBe(fs.statSync(`${tmpDir}/foo.lock`).mtime.getTime());
node-proper-lockfile-4.1.1/test/lock.test.js-490-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-492-
node-proper-lockfile-4.1.1/test/lock.test.js:493:    expect(fs.statSync(`${tmpDir}/foo.lock`).mtime.getTime()).toBeGreaterThan(mtime);
node-proper-lockfile-4.1.1/test/lock.test.js-494-}, 10000);
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-496-it('should set update to a minimum of 1000 (falsy)', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:497:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-498-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-500-
node-proper-lockfile-4.1.1/test/lock.test.js:501:    await lockfile.lock(`${tmpDir}/foo`, { update: false });
node-proper-lockfile-4.1.1/test/lock.test.js-502-
node-proper-lockfile-4.1.1/test/lock.test.js:503:    const mtime = fs.statSync(`${tmpDir}/foo.lock`).mtime.getTime();
node-proper-lockfile-4.1.1/test/lock.test.js-504-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-506-
node-proper-lockfile-4.1.1/test/lock.test.js:507:    expect(mtime).toBe(fs.statSync(`${tmpDir}/foo.lock`).mtime.getTime());
node-proper-lockfile-4.1.1/test/lock.test.js-508-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-510-
node-proper-lockfile-4.1.1/test/lock.test.js:511:    expect(fs.statSync(`${tmpDir}/foo.lock`).mtime.getTime()).toBeGreaterThan(mtime);
node-proper-lockfile-4.1.1/test/lock.test.js-512-}, 10000);
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-514-it('should set update to a maximum of stale / 2', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:515:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-516-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-518-
node-proper-lockfile-4.1.1/test/lock.test.js:519:    await lockfile.lock(`${tmpDir}/foo`, { update: 6000, stale: 5000 });
node-proper-lockfile-4.1.1/test/lock.test.js-520-
node-proper-lockfile-4.1.1/test/lock.test.js:521:    const mtime = fs.statSync(`${tmpDir}/foo.lock`).mtime.getTime();
node-proper-lockfile-4.1.1/test/lock.test.js-522-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-524-
node-proper-lockfile-4.1.1/test/lock.test.js:525:    expect(mtime).toBe(fs.statSync(`${tmpDir}/foo.lock`).mtime.getTime());
node-proper-lockfile-4.1.1/test/lock.test.js-526-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-528-
node-proper-lockfile-4.1.1/test/lock.test.js:529:    expect(fs.statSync(`${tmpDir}/foo.lock`).mtime.getTime()).toBeGreaterThan(mtime);
node-proper-lockfile-4.1.1/test/lock.test.js-530-}, 10000);
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-532-it('should not fail to update mtime when we are over the threshold but mtime is ours', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:533:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js:534:    await lockfile.lock(`${tmpDir}/foo`, { update: 1000, stale: 2000 });
node-proper-lockfile-4.1.1/test/lock.test.js-535-    sleep(3000);
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-539-it('should call the compromised function when we are over the threshold and mtime is not ours', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:540:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-541-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-550-
node-proper-lockfile-4.1.1/test/lock.test.js:551:    await lockfile.lock(`${tmpDir}/foo`, {
node-proper-lockfile-4.1.1/test/lock.test.js-552-        update: 1000,
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-558-
node-proper-lockfile-4.1.1/test/lock.test.js:559:    fs.utimesSync(`${tmpDir}/foo.lock`, mtime, mtime);
node-proper-lockfile-4.1.1/test/lock.test.js-560-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-566-it('should allow millisecond precision mtime', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:567:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-568-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-586-
node-proper-lockfile-4.1.1/test/lock.test.js:587:    await lockfile.lock(`${tmpDir}/foo`, {
node-proper-lockfile-4.1.1/test/lock.test.js-588-        fs: customFs,
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-595-it('should allow floor\'ed second precision mtime', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:596:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-597-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-612-
node-proper-lockfile-4.1.1/test/lock.test.js:613:    await lockfile.lock(`${tmpDir}/foo`, {
node-proper-lockfile-4.1.1/test/lock.test.js-614-        fs: customFs,
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-621-it('should allow ceil\'ed second precision mtime', async () => {
node-proper-lockfile-4.1.1/test/lock.test.js:622:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/lock.test.js-623-
##############################################
node-proper-lockfile-4.1.1/test/lock.test.js-638-
node-proper-lockfile-4.1.1/test/lock.test.js:639:    await lockfile.lock(`${tmpDir}/foo`, {
node-proper-lockfile-4.1.1/test/lock.test.js-640-        fs: customFs,
##############################################
node-proper-lockfile-4.1.1/test/misc.test.js-7-
node-proper-lockfile-4.1.1/test/misc.test.js:8:const tmpDir = `${__dirname}/tmp`;
node-proper-lockfile-4.1.1/test/misc.test.js-9-
##############################################
node-proper-lockfile-4.1.1/test/misc.test.js-13-
node-proper-lockfile-4.1.1/test/misc.test.js:14:afterEach(() => rimraf.sync(`${tmpDir}/*`));
node-proper-lockfile-4.1.1/test/misc.test.js-15-
node-proper-lockfile-4.1.1/test/misc.test.js-16-it('should always use `options.fs` when calling `fs` methods', () => {
node-proper-lockfile-4.1.1/test/misc.test.js:17:    const lockfileContents = fs.readFileSync(`${__dirname}/../lib/lockfile.js`);
node-proper-lockfile-4.1.1/test/misc.test.js-18-
##############################################
node-proper-lockfile-4.1.1/test/misc.test.js-22-it('should remove open locks if the process crashes', async () => {
node-proper-lockfile-4.1.1/test/misc.test.js:23:    const { stderr } = await execa('node', [`${__dirname}/fixtures/crash.js`], { reject: false });
node-proper-lockfile-4.1.1/test/misc.test.js-24-
node-proper-lockfile-4.1.1/test/misc.test.js-25-    expect(stderr).toMatch('intencional crash');
node-proper-lockfile-4.1.1/test/misc.test.js:26:    expect(fs.existsSync(`${tmpDir}/foo.lock`)).toBe(false);
node-proper-lockfile-4.1.1/test/misc.test.js-27-});
##############################################
node-proper-lockfile-4.1.1/test/misc.test.js-29-it('should not hold the process if it has no more work to do', async () => {
node-proper-lockfile-4.1.1/test/misc.test.js:30:    await execa('node', [`${__dirname}/fixtures/unref.js`]);
node-proper-lockfile-4.1.1/test/misc.test.js-31-});
##############################################
node-proper-lockfile-4.1.1/test/misc.test.js-34-    try {
node-proper-lockfile-4.1.1/test/misc.test.js:35:        await execa('node', [`${__dirname}/fixtures/stress.js`]);
node-proper-lockfile-4.1.1/test/misc.test.js-36-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/misc.test.js-41-        } else {
node-proper-lockfile-4.1.1/test/misc.test.js:42:            fs.writeFileSync(`${__dirname}/stress.log`, stdout);
node-proper-lockfile-4.1.1/test/misc.test.js-43-        }
##############################################
node-proper-lockfile-4.1.1/test/release.test.js-8-
node-proper-lockfile-4.1.1/test/release.test.js:9:const tmpDir = `${__dirname}/tmp`;
node-proper-lockfile-4.1.1/test/release.test.js-10-
##############################################
node-proper-lockfile-4.1.1/test/release.test.js-16-    await unlockAll();
node-proper-lockfile-4.1.1/test/release.test.js:17:    rimraf.sync(`${tmpDir}/*`);
node-proper-lockfile-4.1.1/test/release.test.js-18-});
##############################################
node-proper-lockfile-4.1.1/test/release.test.js-20-it('should release the lock', async () => {
node-proper-lockfile-4.1.1/test/release.test.js:21:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/release.test.js-22-
node-proper-lockfile-4.1.1/test/release.test.js:23:    const release = await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/release.test.js-24-
##############################################
node-proper-lockfile-4.1.1/test/release.test.js-26-
node-proper-lockfile-4.1.1/test/release.test.js:27:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/release.test.js-28-});
##############################################
node-proper-lockfile-4.1.1/test/release.test.js-30-it('should remove the lockfile', async () => {
node-proper-lockfile-4.1.1/test/release.test.js:31:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/release.test.js-32-
node-proper-lockfile-4.1.1/test/release.test.js:33:    const release = await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/release.test.js-34-
##############################################
node-proper-lockfile-4.1.1/test/release.test.js-36-
node-proper-lockfile-4.1.1/test/release.test.js:37:    expect(fs.existsSync(`${tmpDir}/foo.lock`)).toBe(false);
node-proper-lockfile-4.1.1/test/release.test.js-38-});
##############################################
node-proper-lockfile-4.1.1/test/release.test.js-40-it('should fail when releasing twice', async () => {
node-proper-lockfile-4.1.1/test/release.test.js:41:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/release.test.js-42-
##############################################
node-proper-lockfile-4.1.1/test/release.test.js-44-
node-proper-lockfile-4.1.1/test/release.test.js:45:    const release = await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/release.test.js-46-
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-8-
node-proper-lockfile-4.1.1/test/sync.test.js:9:const tmpDir = `${__dirname}/tmp`;
node-proper-lockfile-4.1.1/test/sync.test.js-10-
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-16-    await unlockAll();
node-proper-lockfile-4.1.1/test/sync.test.js:17:    rimraf.sync(`${tmpDir}/*`);
node-proper-lockfile-4.1.1/test/sync.test.js-18-});
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-21-    it('should expose a working lockSync', () => {
node-proper-lockfile-4.1.1/test/sync.test.js:22:        fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/sync.test.js-23-
node-proper-lockfile-4.1.1/test/sync.test.js:24:        const release = lockfile.lockSync(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/sync.test.js-25-
node-proper-lockfile-4.1.1/test/sync.test.js-26-        expect(typeof release).toBe('function');
node-proper-lockfile-4.1.1/test/sync.test.js:27:        expect(fs.existsSync(`${tmpDir}/foo.lock`)).toBe(true);
node-proper-lockfile-4.1.1/test/sync.test.js-28-
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-30-
node-proper-lockfile-4.1.1/test/sync.test.js:31:        expect(fs.existsSync(`${tmpDir}/foo.lock`)).toBe(false);
node-proper-lockfile-4.1.1/test/sync.test.js-32-    });
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-34-    it('should fail if the lock is already acquired', () => {
node-proper-lockfile-4.1.1/test/sync.test.js:35:        fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/sync.test.js-36-
node-proper-lockfile-4.1.1/test/sync.test.js:37:        lockfile.lockSync(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/sync.test.js-38-
node-proper-lockfile-4.1.1/test/sync.test.js:39:        expect(fs.existsSync(`${tmpDir}/foo.lock`)).toBe(true);
node-proper-lockfile-4.1.1/test/sync.test.js:40:        expect(() => lockfile.lockSync(`${tmpDir}/foo`)).toThrow(/already being held/);
node-proper-lockfile-4.1.1/test/sync.test.js-41-    });
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-43-    it('should pass options correctly', () => {
node-proper-lockfile-4.1.1/test/sync.test.js:44:        expect(() => lockfile.lockSync(`${tmpDir}/foo`, { realpath: false })).not.toThrow();
node-proper-lockfile-4.1.1/test/sync.test.js-45-    });
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-47-    it('should not allow retries to be passed', () => {
node-proper-lockfile-4.1.1/test/sync.test.js:48:        fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/sync.test.js-49-
node-proper-lockfile-4.1.1/test/sync.test.js:50:        expect(() => lockfile.lockSync(`${tmpDir}/foo`, { retries: 10 })).toThrow(/Cannot use retries/i);
node-proper-lockfile-4.1.1/test/sync.test.js-51-
node-proper-lockfile-4.1.1/test/sync.test.js:52:        expect(() => lockfile.lockSync(`${tmpDir}/foo`, { retries: { retries: 10 } })).toThrow(/Cannot use retries/i);
node-proper-lockfile-4.1.1/test/sync.test.js-53-
node-proper-lockfile-4.1.1/test/sync.test.js-54-        expect(() => {
node-proper-lockfile-4.1.1/test/sync.test.js:55:            const release = lockfile.lockSync(`${tmpDir}/foo`, { retries: 0 });
node-proper-lockfile-4.1.1/test/sync.test.js-56-
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-60-        expect(() => {
node-proper-lockfile-4.1.1/test/sync.test.js:61:            const release = lockfile.lockSync(`${tmpDir}/foo`, { retries: { retries: 0 } });
node-proper-lockfile-4.1.1/test/sync.test.js-62-
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-67-    it('should fail syncronously if release throws', () => {
node-proper-lockfile-4.1.1/test/sync.test.js:68:        fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/sync.test.js-69-
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-71-
node-proper-lockfile-4.1.1/test/sync.test.js:72:        const release = lockfile.lockSync(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/sync.test.js-73-
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-81-    it('should expose a working unlockSync', () => {
node-proper-lockfile-4.1.1/test/sync.test.js:82:        fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/sync.test.js-83-
node-proper-lockfile-4.1.1/test/sync.test.js:84:        lockfile.lockSync(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/sync.test.js-85-
node-proper-lockfile-4.1.1/test/sync.test.js:86:        expect(fs.existsSync(`${tmpDir}/foo.lock`)).toBe(true);
node-proper-lockfile-4.1.1/test/sync.test.js-87-
node-proper-lockfile-4.1.1/test/sync.test.js:88:        lockfile.unlockSync(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/sync.test.js-89-
node-proper-lockfile-4.1.1/test/sync.test.js:90:        expect(fs.existsSync(`${tmpDir}/foo.lock`)).toBe(false);
node-proper-lockfile-4.1.1/test/sync.test.js-91-    });
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-93-    it('should fail is lock is not acquired', () => {
node-proper-lockfile-4.1.1/test/sync.test.js:94:        fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/sync.test.js-95-
node-proper-lockfile-4.1.1/test/sync.test.js:96:        expect(() => lockfile.unlockSync(`${tmpDir}/foo`)).toThrow(/not acquired\/owned by you/);
node-proper-lockfile-4.1.1/test/sync.test.js-97-    });
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-99-    it('should pass options correctly', () => {
node-proper-lockfile-4.1.1/test/sync.test.js:100:        expect(() => lockfile.unlockSync(`${tmpDir}/foo`, { realpath: false })).toThrow(/not acquired\/owned by you/);
node-proper-lockfile-4.1.1/test/sync.test.js-101-    });
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-105-    it('should expose a working checkSync', () => {
node-proper-lockfile-4.1.1/test/sync.test.js:106:        fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/sync.test.js-107-
node-proper-lockfile-4.1.1/test/sync.test.js:108:        expect(lockfile.checkSync(`${tmpDir}/foo`)).toBe(false);
node-proper-lockfile-4.1.1/test/sync.test.js-109-
node-proper-lockfile-4.1.1/test/sync.test.js:110:        const release = lockfile.lockSync(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/sync.test.js-111-
node-proper-lockfile-4.1.1/test/sync.test.js:112:        expect(lockfile.checkSync(`${tmpDir}/foo`)).toBe(true);
node-proper-lockfile-4.1.1/test/sync.test.js-113-
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-115-
node-proper-lockfile-4.1.1/test/sync.test.js:116:        expect(lockfile.checkSync(`${tmpDir}/foo`)).toBe(false);
node-proper-lockfile-4.1.1/test/sync.test.js-117-    });
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-119-    it('should fail is file does not exist', () => {
node-proper-lockfile-4.1.1/test/sync.test.js:120:        expect(() => lockfile.checkSync(`${tmpDir}/some-file-that-will-never-exist`)).toThrow(/ENOENT/);
node-proper-lockfile-4.1.1/test/sync.test.js-121-    });
##############################################
node-proper-lockfile-4.1.1/test/sync.test.js-123-    it('should pass options correctly', () => {
node-proper-lockfile-4.1.1/test/sync.test.js:124:        expect(() => lockfile.checkSync(`${tmpDir}/foo`, { realpath: false })).not.toThrow();
node-proper-lockfile-4.1.1/test/sync.test.js-125-    });
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-10-
node-proper-lockfile-4.1.1/test/unlock.test.js:11:const tmpDir = `${__dirname}/tmp`;
node-proper-lockfile-4.1.1/test/unlock.test.js-12-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-22-    await unlockAll();
node-proper-lockfile-4.1.1/test/unlock.test.js:23:    rimraf.sync(`${tmpDir}/*`);
node-proper-lockfile-4.1.1/test/unlock.test.js-24-});
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-26-it('should fail if the lock is not acquired', async () => {
node-proper-lockfile-4.1.1/test/unlock.test.js:27:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/unlock.test.js-28-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-31-    try {
node-proper-lockfile-4.1.1/test/unlock.test.js:32:        await lockfile.unlock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-33-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-38-it('should return a promise', async () => {
node-proper-lockfile-4.1.1/test/unlock.test.js:39:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/unlock.test.js-40-
node-proper-lockfile-4.1.1/test/unlock.test.js:41:    const promise = lockfile.unlock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-42-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-48-it('should release the lock', async () => {
node-proper-lockfile-4.1.1/test/unlock.test.js:49:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/unlock.test.js-50-
node-proper-lockfile-4.1.1/test/unlock.test.js:51:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-52-
node-proper-lockfile-4.1.1/test/unlock.test.js:53:    await lockfile.unlock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-54-
node-proper-lockfile-4.1.1/test/unlock.test.js:55:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-56-});
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-58-it('should remove the lockfile', async () => {
node-proper-lockfile-4.1.1/test/unlock.test.js:59:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/unlock.test.js-60-
node-proper-lockfile-4.1.1/test/unlock.test.js:61:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-62-
node-proper-lockfile-4.1.1/test/unlock.test.js:63:    await lockfile.unlock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-64-
node-proper-lockfile-4.1.1/test/unlock.test.js:65:    expect(fs.existsSync(`${tmpDir}/foo.lock`)).toBe(false);
node-proper-lockfile-4.1.1/test/unlock.test.js-66-});
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-68-it('should fail if removing the lockfile errors out', async () => {
node-proper-lockfile-4.1.1/test/unlock.test.js:69:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/unlock.test.js-70-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-77-
node-proper-lockfile-4.1.1/test/unlock.test.js:78:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-79-
node-proper-lockfile-4.1.1/test/unlock.test.js-80-    try {
node-proper-lockfile-4.1.1/test/unlock.test.js:81:        await lockfile.unlock(`${tmpDir}/foo`, { fs: customFs });
node-proper-lockfile-4.1.1/test/unlock.test.js-82-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-87-it('should ignore ENOENT errors when removing the lockfile', async () => {
node-proper-lockfile-4.1.1/test/unlock.test.js:88:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/unlock.test.js-89-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-94-
node-proper-lockfile-4.1.1/test/unlock.test.js:95:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-96-
node-proper-lockfile-4.1.1/test/unlock.test.js:97:    await lockfile.unlock(`${tmpDir}/foo`, { fs: customFs });
node-proper-lockfile-4.1.1/test/unlock.test.js-98-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-102-it('should stop updating the lockfile mtime', async () => {
node-proper-lockfile-4.1.1/test/unlock.test.js:103:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/unlock.test.js-104-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-106-
node-proper-lockfile-4.1.1/test/unlock.test.js:107:    await lockfile.lock(`${tmpDir}/foo`, { update: 2000, fs: customFs });
node-proper-lockfile-4.1.1/test/unlock.test.js-108-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-110-
node-proper-lockfile-4.1.1/test/unlock.test.js:111:    await lockfile.unlock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-112-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-119-it('should stop updating the lockfile mtime (slow fs)', async () => {
node-proper-lockfile-4.1.1/test/unlock.test.js:120:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/unlock.test.js-121-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-123-
node-proper-lockfile-4.1.1/test/unlock.test.js:124:    await lockfile.lock(`${tmpDir}/foo`, { fs: customFs, update: 2000 });
node-proper-lockfile-4.1.1/test/unlock.test.js-125-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-129-
node-proper-lockfile-4.1.1/test/unlock.test.js:130:    await lockfile.unlock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-131-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-137-it('should stop updating the lockfile mtime (slow fs + new lock)', async () => {
node-proper-lockfile-4.1.1/test/unlock.test.js:138:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/unlock.test.js-139-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-141-
node-proper-lockfile-4.1.1/test/unlock.test.js:142:    await lockfile.lock(`${tmpDir}/foo`, { fs: customFs, update: 2000 });
node-proper-lockfile-4.1.1/test/unlock.test.js-143-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-147-
node-proper-lockfile-4.1.1/test/unlock.test.js:148:    await lockfile.unlock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-149-
node-proper-lockfile-4.1.1/test/unlock.test.js:150:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-151-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-157-it('should resolve symlinks by default', async () => {
node-proper-lockfile-4.1.1/test/unlock.test.js:158:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/unlock.test.js:159:    fs.symlinkSync(`${tmpDir}/foo`, `${tmpDir}/bar`);
node-proper-lockfile-4.1.1/test/unlock.test.js-160-
node-proper-lockfile-4.1.1/test/unlock.test.js:161:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-162-
node-proper-lockfile-4.1.1/test/unlock.test.js:163:    await lockfile.unlock(`${tmpDir}/bar`);
node-proper-lockfile-4.1.1/test/unlock.test.js-164-
node-proper-lockfile-4.1.1/test/unlock.test.js:165:    expect(fs.existsSync(`${tmpDir}/foo.lock`)).toBe(false);
node-proper-lockfile-4.1.1/test/unlock.test.js-166-});
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-168-it('should not resolve symlinks if realpath is false', async () => {
node-proper-lockfile-4.1.1/test/unlock.test.js:169:    fs.writeFileSync(`${tmpDir}/foo`, '');
node-proper-lockfile-4.1.1/test/unlock.test.js:170:    fs.symlinkSync(`${tmpDir}/foo`, `${tmpDir}/bar`);
node-proper-lockfile-4.1.1/test/unlock.test.js-171-
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-173-
node-proper-lockfile-4.1.1/test/unlock.test.js:174:    await lockfile.lock(`${tmpDir}/foo`);
node-proper-lockfile-4.1.1/test/unlock.test.js-175-
node-proper-lockfile-4.1.1/test/unlock.test.js-176-    try {
node-proper-lockfile-4.1.1/test/unlock.test.js:177:        await lockfile.unlock(`${tmpDir}/bar`, { realpath: false });
node-proper-lockfile-4.1.1/test/unlock.test.js-178-    } catch (err) {
##############################################
node-proper-lockfile-4.1.1/test/unlock.test.js-191-    try {
node-proper-lockfile-4.1.1/test/unlock.test.js:192:        await lockfile.unlock(`${tmpDir}/foo`, { fs: customFs });
node-proper-lockfile-4.1.1/test/unlock.test.js-193-    } catch (err) {