{"_id":"@truffle/promise-tracker","_rev":"4670412","name":"@truffle/promise-tracker","description":"A tool for wrangling async operations that need to complete before the truffle process exits","dist-tags":{"latest":"0.1.7","signTypedData_v4":"0.1.0-alpha.2","typescript-migrations":"0.1.1-typescript-migrations.0"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"time":{"modified":"2026-04-10T23:03:03.000Z","created":"2022-06-23T15:17:47.472Z","0.1.7":"2023-09-07T19:49:39.801Z","0.1.6":"2023-06-06T20:24:52.608Z","0.1.5":"2022-10-26T20:11:16.728Z","0.1.4":"2022-10-12T22:47:52.825Z","0.1.3":"2022-08-17T23:40:17.876Z","0.1.2":"2022-08-10T22:22:54.719Z","0.1.1":"2022-07-21T23:31:53.768Z","0.1.1-typescript-migrations.0":"2022-07-21T02:40:14.742Z","0.1.0-alpha.2":"2022-06-24T16:11:42.879Z","0.1.0":"2022-06-23T20:45:48.991Z","0.1.0-alpha.0":"2022-06-23T15:17:47.472Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"versions":{"0.1.7":{"name":"@truffle/promise-tracker","version":"0.1.7","description":"A tool for wrangling async operations that need to complete before the truffle process exits","main":"dist/index.js","scripts":{"build":"tsc","prepare":"yarn build","test":"jest --verbose"},"license":"MIT","homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"directories":{"lib":"lib"},"types":"dist/index.d.ts","keywords":["ethereum","etherscan","ipfs","solidity","verify-source","sourcify","compile"],"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^27.0.3","@types/node":"~12.12.0","delay":"^5.0.0","jest":"29.1.2","ts-jest":"29.0.3","typescript":"^4.9.5"},"engines":{"node":"^16.20 || ^18.16 || >=20"},"gitHead":"033fc64fcdf91ceef61100938d7ffbd53b63eee5","_id":"@truffle/promise-tracker@0.1.7","_nodeVersion":"16.20.2","_npmVersion":"lerna/5.6.2/node@v16.20.2+x64 (linux)","dist":{"shasum":"edc5e5940656439db7b1956bd4838d12dd4b9ecf","size":4385,"noattachment":false,"key":"/@truffle/promise-tracker/-/@truffle/promise-tracker-0.1.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/@truffle/promise-tracker/download/@truffle/promise-tracker-0.1.7.tgz"},"_npmUser":{"name":"haltman","email":"harry.j.altman@gmail.com"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-tracker_0.1.7_1694116179624_0.13528841181443396"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-07T19:49:39.801Z","publish_time":1694116179801,"_source_registry_name":"default","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_cnpm_publish_time":1694116179801},"0.1.6":{"name":"@truffle/promise-tracker","version":"0.1.6","description":"A tool for wrangling async operations that need to complete before the truffle process exits","main":"dist/index.js","scripts":{"build":"tsc","prepare":"yarn build","test":"jest --verbose"},"license":"MIT","homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"directories":{"lib":"lib"},"types":"dist/index.d.ts","keywords":["ethereum","etherscan","ipfs","solidity","verify-source","sourcify","compile"],"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^27.0.3","@types/node":"~12.12.0","delay":"^5.0.0","jest":"29.1.2","ts-jest":"29.0.3","typescript":"^4.9.5"},"gitHead":"7983a54d1f931d770c6fbb028bc27cdbcf5dfcbe","_id":"@truffle/promise-tracker@0.1.6","_nodeVersion":"14.21.2","_npmVersion":"lerna/5.6.2/node@v14.21.2+x64 (darwin)","dist":{"shasum":"daecee974e8271387031f32765a414f76e727a79","size":4360,"noattachment":false,"key":"/@truffle/promise-tracker/-/@truffle/promise-tracker-0.1.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/@truffle/promise-tracker/download/@truffle/promise-tracker-0.1.6.tgz"},"_npmUser":{"name":"eggplantzzz","email":"pobol234@gmail.com"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-tracker_0.1.6_1686083092384_0.5940168754356321"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-06T20:24:52.608Z","publish_time":1686083092608,"_source_registry_name":"default","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_cnpm_publish_time":1686083092608},"0.1.5":{"name":"@truffle/promise-tracker","version":"0.1.5","description":"A tool for wrangling async operations that need to complete before the truffle process exits","main":"dist/index.js","scripts":{"build":"tsc","prepare":"yarn build","test":"jest --verbose"},"license":"MIT","homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"directories":{"lib":"lib"},"types":"dist/index.d.ts","keywords":["ethereum","etherscan","ipfs","solidity","verify-source","sourcify","compile"],"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^27.0.3","@types/node":"~12.12.0","delay":"^5.0.0","jest":"29.1.2","ts-jest":"29.0.3","typescript":"^4.7.4"},"gitHead":"d1e3f2d050bbced6e7c65e8779702b6b5a9b7c29","_id":"@truffle/promise-tracker@0.1.5","_nodeVersion":"16.18.0","_npmVersion":"lerna/5.6.2/node@v16.18.0+arm64 (darwin)","dist":{"shasum":"df68df14d45a32bda6237ab85169d1808e4b3928","size":4362,"noattachment":false,"key":"/@truffle/promise-tracker/-/@truffle/promise-tracker-0.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@truffle/promise-tracker/download/@truffle/promise-tracker-0.1.5.tgz"},"_npmUser":{"name":"sukanyaparashar","email":"sukanyaparashar111@gmail.com"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-tracker_0.1.5_1666815076582_0.7760889812928491"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-10-26T20:11:23.274Z","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","publish_time":1666815076728,"_cnpm_publish_time":1666815076728},"0.1.4":{"name":"@truffle/promise-tracker","version":"0.1.4","description":"A tool for wrangling async operations that need to complete before the truffle process exits","main":"dist/index.js","scripts":{"build":"tsc","prepare":"yarn build","test":"jest --verbose"},"license":"MIT","homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"directories":{"lib":"lib"},"types":"dist/index.d.ts","keywords":["ethereum","etherscan","ipfs","solidity","verify-source","sourcify","compile"],"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^27.0.3","@types/node":"~12.12.0","delay":"^5.0.0","jest":"29.1.2","ts-jest":"28.0.7","typescript":"^4.7.4"},"gitHead":"a029d3e45cf1b65914645b5f8205dfb45592d56e","_id":"@truffle/promise-tracker@0.1.4","_nodeVersion":"18.8.0","_npmVersion":"lerna/5.6.2/node@v18.8.0+x64 (linux)","dist":{"shasum":"6f9d019b048a78b6d024bf2967e24dfa8c3a164d","size":4365,"noattachment":false,"key":"/@truffle/promise-tracker/-/@truffle/promise-tracker-0.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@truffle/promise-tracker/download/@truffle/promise-tracker-0.1.4.tgz"},"_npmUser":{"name":"cliffoo","email":"cliffzhang08@gmail.com"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-tracker_0.1.4_1665614872576_0.7960893656032362"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-10-26T20:11:21.632Z","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","publish_time":1665614872825,"_cnpm_publish_time":1665614872825},"0.1.3":{"name":"@truffle/promise-tracker","version":"0.1.3","description":"A tool for wrangling async operations that need to complete before the truffle process exits","main":"dist/index.js","scripts":{"build":"tsc","prepare":"yarn build","test":"jest --verbose"},"license":"MIT","homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"directories":{"lib":"lib"},"types":"dist/index.d.ts","keywords":["ethereum","etherscan","ipfs","solidity","verify-source","sourcify","compile"],"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^27.0.3","@types/node":"~12.12.0","delay":"^5.0.0","jest":"28.1.3","ts-jest":"28.0.7","typescript":"^4.7.4"},"gitHead":"0d96061f25e0927cd1d158b1636464ded86a57bb","_id":"@truffle/promise-tracker@0.1.3","_nodeVersion":"16.16.0","_npmVersion":"lerna/4.0.0/node@v16.16.0+arm64 (darwin)","dist":{"shasum":"8a971a5f22ea6922b3578a49b05be481d2d2a3fa","size":4361,"noattachment":false,"key":"/@truffle/promise-tracker/-/@truffle/promise-tracker-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@truffle/promise-tracker/download/@truffle/promise-tracker-0.1.3.tgz"},"_npmUser":{"name":"kevinbluer","email":"kevin@bluer.com"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-tracker_0.1.3_1660779617673_0.6264641000427504"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-08-17T23:40:24.452Z","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","publish_time":1660779617876,"_cnpm_publish_time":1660779617876},"0.1.2":{"name":"@truffle/promise-tracker","version":"0.1.2","description":"A tool for wrangling async operations that need to complete before the truffle process exits","main":"dist/index.js","scripts":{"build":"tsc","prepare":"yarn build","test":"jest --verbose"},"license":"MIT","homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"directories":{"lib":"lib"},"types":"dist/index.d.ts","keywords":["ethereum","etherscan","ipfs","solidity","verify-source","sourcify","compile"],"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^27.0.3","@types/node":"^16.11.6","delay":"^5.0.0","jest":"28.1.3","ts-jest":"28.0.7","typescript":"^4.1.4"},"gitHead":"c0e9b091678b131d3a5e28fa46ff64afbc0e4828","_id":"@truffle/promise-tracker@0.1.2","_nodeVersion":"14.20.0","_npmVersion":"lerna/4.0.0/node@v14.20.0+x64 (darwin)","dist":{"shasum":"eb793af26a515400ee7c15ad20dda59e5d61cfd9","size":4351,"noattachment":false,"key":"/@truffle/promise-tracker/-/@truffle/promise-tracker-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@truffle/promise-tracker/download/@truffle/promise-tracker-0.1.2.tgz"},"_npmUser":{"name":"kevinbluer","email":"kevin@bluer.com"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-tracker_0.1.2_1660170174514_0.8977680006417319"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-08-10T22:23:06.591Z","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","publish_time":1660170174719,"_cnpm_publish_time":1660170174719},"0.1.1":{"name":"@truffle/promise-tracker","version":"0.1.1","description":"A tool for wrangling async operations that need to complete before the truffle process exits","main":"dist/index.js","scripts":{"build":"tsc","prepare":"yarn build","test":"jest --verbose"},"license":"MIT","homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"directories":{"lib":"lib"},"types":"dist/index.d.ts","keywords":["ethereum","etherscan","ipfs","solidity","verify-source","sourcify","compile"],"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^27.0.3","@types/node":"^16.11.6","delay":"^5.0.0","jest":"28.1.3","ts-jest":"28.0.6","typescript":"^4.1.4"},"gitHead":"074c8ac1695d241096843a163a1bc95c34a3a117","_id":"@truffle/promise-tracker@0.1.1","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+arm64 (darwin)","dist":{"shasum":"10f469dcfa742ac91918feb7c1a24690491c0db4","size":4348,"noattachment":false,"key":"/@truffle/promise-tracker/-/@truffle/promise-tracker-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@truffle/promise-tracker/download/@truffle/promise-tracker-0.1.1.tgz"},"_npmUser":{"name":"cliffoo","email":"cliffzhang08@gmail.com"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-tracker_0.1.1_1658446313576_0.28041466449067665"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-22T00:03:28.379Z","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","publish_time":1658446313768,"_cnpm_publish_time":1658446313768},"0.1.1-typescript-migrations.0":{"name":"@truffle/promise-tracker","version":"0.1.1-typescript-migrations.0","description":"A tool for wrangling async operations that need to complete before the truffle process exits","main":"dist/index.js","scripts":{"build":"tsc","prepare":"yarn build","test":"jest --verbose"},"license":"MIT","homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"directories":{"lib":"lib"},"types":"dist/index.d.ts","keywords":["ethereum","etherscan","ipfs","solidity","verify-source","sourcify","compile"],"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^27.0.3","@types/node":"^16.11.6","delay":"^5.0.0","jest":"28.1.3","ts-jest":"28.0.6","typescript":"^4.1.4"},"gitHead":"a686945780ca094faaa3c237f4f94ceb659863e1","readmeFilename":"README.md","_id":"@truffle/promise-tracker@0.1.1-typescript-migrations.0","_nodeVersion":"12.22.12","_npmVersion":"lerna/4.0.0/node@v12.22.12+x64 (darwin)","dist":{"shasum":"9389a4031338a9dbef3d8345cf9d12d5913ec382","size":4361,"noattachment":false,"key":"/@truffle/promise-tracker/-/@truffle/promise-tracker-0.1.1-typescript-migrations.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@truffle/promise-tracker/download/@truffle/promise-tracker-0.1.1-typescript-migrations.0.tgz"},"_npmUser":{"name":"benjamincburns","email":"benjamin.c.burns@gmail.com"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-tracker_0.1.1-typescript-migrations.0_1658371214472_0.876301083444117"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-21T02:40:22.971Z","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","publish_time":1658371214742,"_cnpm_publish_time":1658371214742},"0.1.0-alpha.2":{"name":"@truffle/promise-tracker","version":"0.1.0-alpha.2","description":"A tool for wrangling async operations that need to complete before the truffle process exits","main":"dist/index.js","scripts":{"build":"tsc","prepare":"yarn build","test":"jest --verbose"},"license":"MIT","homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"directories":{"lib":"lib"},"types":"dist/index.d.ts","keywords":["ethereum","etherscan","ipfs","solidity","verify-source","sourcify","compile"],"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^27.0.3","@types/node":"^16.11.6","delay":"^5.0.0","jest":"^27.4.5","ts-jest":"^27.1.2","typescript":"^4.1.4"},"gitHead":"4ad7d2c4c7ba31fc5e02c831d615cc58e863c2cd","readmeFilename":"README.md","_id":"@truffle/promise-tracker@0.1.0-alpha.2","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+arm64 (darwin)","dist":{"shasum":"221da3b1207714f4d9911acde515091c5d1dc7aa","size":4354,"noattachment":false,"key":"/@truffle/promise-tracker/-/@truffle/promise-tracker-0.1.0-alpha.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@truffle/promise-tracker/download/@truffle/promise-tracker-0.1.0-alpha.2.tgz"},"_npmUser":{"name":"eggplantzzz","email":"pobol234@gmail.com"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-tracker_0.1.0-alpha.2_1656087102649_0.06652722750745932"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-24T16:11:49.544Z","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","publish_time":1656087102879,"_cnpm_publish_time":1656087102879},"0.1.0":{"name":"@truffle/promise-tracker","version":"0.1.0","description":"A tool for wrangling async operations that need to complete before the truffle process exits","main":"dist/index.js","scripts":{"build":"tsc","prepare":"yarn build","test":"jest --verbose"},"license":"MIT","homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"directories":{"lib":"lib"},"types":"dist/index.d.ts","keywords":["ethereum","etherscan","ipfs","solidity","verify-source","sourcify","compile"],"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^27.0.3","@types/node":"^16.11.6","delay":"^5.0.0","jest":"^27.4.5","ts-jest":"^27.1.2","typescript":"^4.1.4"},"gitHead":"a6b6462487c2495b64d5e1a7a8a6490ca09e0a73","_id":"@truffle/promise-tracker@0.1.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+arm64 (darwin)","dist":{"shasum":"3fb567fbaf791a168cffa207f4770829ccb1d4b8","size":4350,"noattachment":false,"key":"/@truffle/promise-tracker/-/@truffle/promise-tracker-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@truffle/promise-tracker/download/@truffle/promise-tracker-0.1.0.tgz"},"_npmUser":{"name":"cliffoo","email":"cliffzhang08@gmail.com"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-tracker_0.1.0_1656017148746_0.736838690402791"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-23T20:46:41.878Z","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","publish_time":1656017148991,"_cnpm_publish_time":1656017148991},"0.1.0-alpha.0":{"name":"@truffle/promise-tracker","version":"0.1.0-alpha.0","description":"A tool for wrangling async operations that need to complete before the truffle process exits","main":"dist/index.js","scripts":{"build":"tsc","prepare":"yarn build","test":"jest --verbose"},"license":"MIT","homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","repository":{"type":"git","url":"git+https://github.com/trufflesuite/truffle.git","directory":"packages/promise-tracker"},"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"directories":{"lib":"lib"},"types":"dist/index.d.ts","keywords":["ethereum","etherscan","ipfs","solidity","verify-source","sourcify","compile"],"publishConfig":{"access":"public"},"devDependencies":{"@types/jest":"^27.0.3","@types/node":"^16.11.6","delay":"^5.0.0","jest":"^27.4.5","ts-jest":"^27.1.2","typescript":"^4.1.4"},"gitHead":"ecd43cfe3d89d99231c171ced84cd113413d9c98","_id":"@truffle/promise-tracker@0.1.0-alpha.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+arm64 (darwin)","dist":{"shasum":"3e24add76eeced42043537845c1251c21d47c23f","size":4355,"noattachment":false,"key":"/@truffle/promise-tracker/-/@truffle/promise-tracker-0.1.0-alpha.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@truffle/promise-tracker/download/@truffle/promise-tracker-0.1.0-alpha.0.tgz"},"_npmUser":{"name":"eggplantzzz","email":"pobol234@gmail.com"},"maintainers":[{"name":"cds-amal","email":""},{"name":"rizedr","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/promise-tracker_0.1.0-alpha.0_1655997467255_0.6995330271182982"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-06-23T16:03:35.149Z","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","publish_time":1655997467472,"_cnpm_publish_time":1655997467472}},"readme":"# `@truffle/promise-tracker`\n\nThis library is used for keeping track of asynchronous work that needs to complete prior to the process exiting.\n\n## Usage\n\n**IMPORTANT** Only use this library as a last resort. Typically you're better off architecting things so that you don't need process-level tracking of outstanding tasks.\n\nSome alternatives to consider before using this module:\n\n- Wherever possible, only make asynchronous calls from within an asynchronous\n  context (aka, avoid using `.then` and `.catch` callbacks).\n- Implement timeouts for long-running processes using `Promise.race`\n- Unref any best-effort/speculative timers\n  ([immediate](https://nodejs.org/api/timers.html#immediateunref),\n  [timeout](https://nodejs.org/api/timers.html#timeoutunref) to prevent them\n  from keeping your process alive when everything else is done\n\n### Tracking asynchronous operations\n\nFor the moment promise tracking is implemented as a method decorator, meaning it\n_must_ be applied to method declaration on a class.\n\nIt can be applied to any method, and it will only add special handling when methods return promises\n\n```ts\nimport { tracked } from \"@truffle/promise-tracker\";\n\nclass Foo {\n  // totally fine, even though it doesn't return a promise\n  @tracked\n  synchronousBar(): \"-\" {\n    return \"-\";\n  }\n\n  @tracked\n  async asyncBar(): Promise<\"-\"> {\n    return \"-\";\n  }\n\n  // this works the same as with `asyncBar`, even though it's not explicitly an\n  // async method\n  @tracked\n  promiseBar(): Promise<\"-\"> {\n    return new Promise<\"-\">(resolve => resolve(\"-\"));\n  }\n}\n```\n\n### Waiting for tracked operations to complete (async)\n\n```ts\nimport { waitForOutstandingPromises } from \"@truffle/promiseTracker\";\n\nlet exitCode = 0;\n\n// If no catchHandler is passed, rejected promises are handled silently.\n// This is because these promise rejections should already be handled by the\n// caller that created the promise.\nawait waitForOutstandingPromises({ catchHandler: () => (exitCode = 1) });\nprocess.exit(exitCode);\n```\n\n### Waiting for tracked operations to complete (synchronous)\n\n```ts\nimport { waitForOutstandingPromises } from \"@truffle/promiseTracker\";\n\nlet exitCode = 0;\n\n// If no catchHandler is passed, rejected promises are handled silently.\n// This is because these promise rejections should already be handled by the\n// caller that created the promise.\nwaitForOutstandingPromises({ catchHandler: () => (exitCode = 1) }).then(() => {\n  process.exit(exitCode);\n});\n```\n","_attachments":{},"homepage":"https://github.com/trufflesuite/truffle/tree/master/packages/promise-tracker#readme","bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"license":"MIT"}