{"_id":"optional-require","_rev":"4082482","name":"optional-require","description":"NodeJS Require that let you handle module not found error without try/catch","dist-tags":{"latest":"2.1.0","v1":"1.1.10"},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"time":{"modified":"2025-11-24T21:40:05.000Z","created":"2017-02-04T10:05:25.500Z","2.1.0":"2025-07-06T15:37:59.193Z","2.0.4":"2025-07-01T03:06:20.805Z","1.1.10":"2025-07-01T03:05:37.793Z","2.0.3":"2025-07-01T01:28:02.261Z","1.1.9":"2025-07-01T01:13:09.715Z","2.0.2":"2025-07-01T00:18:17.263Z","2.0.1":"2025-06-03T08:55:59.863Z","2.0.0":"2025-05-31T21:42:01.142Z","1.1.8":"2021-09-22T06:14:16.500Z","1.1.7":"2021-08-12T23:15:16.482Z","1.1.6":"2021-08-07T15:52:34.846Z","1.1.5":"2021-08-07T08:55:19.277Z","1.1.4":"2021-08-05T15:36:07.825Z","1.1.3":"2021-08-05T15:22:10.482Z","1.1.2":"2021-08-05T15:16:48.919Z","1.1.1":"2021-07-28T18:01:54.057Z","1.1.0":"2021-07-22T16:03:43.596Z","1.0.3":"2021-04-10T20:38:19.281Z","1.0.2":"2020-07-18T18:37:28.675Z","1.0.1":"2020-07-18T03:38:31.961Z","1.0.0":"2017-02-04T23:02:54.482Z","0.1.3":"2017-02-04T22:52:35.431Z","0.1.2":"2017-02-04T11:02:30.219Z","0.1.1":"2017-02-04T10:24:23.978Z","0.1.0":"2017-02-04T10:05:25.500Z"},"users":{},"author":{"name":"Joel Chen"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"versions":{"2.1.0":{"name":"optional-require","version":"2.1.0","description":"NodeJS Require that let you handle module not found error without try/catch","type":"module","main":"./index.cjs","types":"./index.d.ts","exports":{".":{"import":"./dist-esm/esm/index.js","require":"./index.cjs"}},"scripts":{"build":"rm -rf dist-* && tsc --build tsconfig.esm.json && tsc --build tsconfig.cjs.json && ts2mjs --cjs --remove-source --skip-ts dist-cjs","test":"vitest run","test:coverage":"vitest run --coverage","docs":"xrun xarc/docs && touch docs/.nojekyll","prepack":"npm run build && publish-util-prepack","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=20"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"@types/node":"^20.8.9","@vitest/coverage-v8":"^3.1.4","@xarc/module-dev":"^5.0.0","bad-main":"^1.0.0","prettier":"^2.3.2","proxy-to-bad-main":"^1.0.0","proxy-to-missing":"^1.0.0","publish-util":"^2.1.0","require-missing":"^1.0.0","source-map-support":"^0.5.21","syntax-error":"^1.0.0","ts-node":"^10.9.1","ts2mjs":"github:jchip/ts2mjs#main","tsx":"^4.19.4","typedoc":"^0.25.2","typescript":"^5.2.2","vitest":"^3.1.4"},"dependencies":{"require-at":"^1.0.6"},"prettier":{"printWidth":120},"c8":{"all":true,"include":["src/**/*.ts"],"exclude":["test/**","test-cjs/**","dist/**","dist-esm/**","dist-cjs/**","demos/**","coverage/**","docs/**","*.config.*"],"reporter":["text","text-summary","lcov"],"excludeAfterRemap":true,"skip-full":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"@xarc/module-dev":{"features":["prettier","typedoc","typescript"]},"fyn":{"devDependencies":{"bad-main":"./test/fixtures/bad-main","proxy-to-bad-main":"./test/fixtures/proxy-to-bad-main","proxy-to-missing":"./test/fixtures/proxy-to-missing","require-missing":"./test/fixtures/require-missing","syntax-error":"./test/fixtures/syntax-error"}},"_id":"optional-require@2.1.0","gitHead":"ebfd358a28b7f6f69b0339fcceea645caca52933","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_nodeVersion":"24.3.0","_npmVersion":"11.4.2","dist":{"shasum":"70f26717a4af717959e213146c7b60688dc5ed61","size":9600,"noattachment":false,"key":"/optional-require/-/optional-require-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-2.1.0.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com","actor":{"name":"jchip","email":"joel123@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/optional-require_2.1.0_1751816278992_0.8323273678215695"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-06T15:37:59.193Z","publish_time":1751816279193,"_source_registry_name":"default","_cnpm_publish_time":1751816279193},"2.0.4":{"name":"optional-require","version":"2.0.4","description":"NodeJS Require that let you handle module not found error without try/catch","type":"module","main":"./index.cjs","types":"./index.d.ts","exports":{".":{"import":"./dist-esm/esm/index.js","require":"./index.cjs"}},"scripts":{"build":"rm -rf dist-* && tsc --build tsconfig.esm.json && tsc --build tsconfig.cjs.json && ts2mjs --cjs --remove-source --skip-ts dist-cjs","test":"vitest run","test:coverage":"vitest run --coverage","docs":"xrun xarc/docs && touch docs/.nojekyll","prepack":"npm run build && publish-util-prepack","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=20"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"@types/node":"^20.8.9","@vitest/coverage-v8":"^3.1.4","@xarc/module-dev":"^5.0.0","bad-main":"^1.0.0","prettier":"^2.3.2","publish-util":"^2.1.0","require-missing":"^1.0.0","source-map-support":"^0.5.21","ts-node":"^10.9.1","ts2mjs":"github:jchip/ts2mjs#main","tsx":"^4.19.4","typedoc":"^0.25.2","typescript":"^5.2.2","vitest":"^3.1.4"},"dependencies":{"require-at":"^1.0.6"},"prettier":{"printWidth":120},"c8":{"all":true,"include":["src/**/*.ts"],"exclude":["test/**","test-cjs/**","dist/**","dist-esm/**","dist-cjs/**","demos/**","coverage/**","docs/**","*.config.*"],"reporter":["text","text-summary","lcov"],"excludeAfterRemap":true,"skip-full":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"@xarc/module-dev":{"features":["prettier","typedoc","typescript"]},"fyn":{"devDependencies":{"bad-main":"./test/fixtures/bad-main","require-missing":"./test/fixtures/require-missing"}},"_id":"optional-require@2.0.4","gitHead":"6a60059609878c9a5fc4d4e95fc574c195816722","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_nodeVersion":"24.2.0","_npmVersion":"11.3.0","dist":{"shasum":"fcfec0591545b321d422dc643f429d47efa1e0be","size":8775,"noattachment":false,"key":"/optional-require/-/optional-require-2.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-2.0.4.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com","actor":{"name":"jchip","email":"joel123@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/optional-require_2.0.4_1751339180584_0.48960844403922055"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-01T03:06:20.805Z","publish_time":1751339180805,"_source_registry_name":"default","_cnpm_publish_time":1751339180805},"1.1.10":{"name":"optional-require","version":"1.1.10","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","types":"index.d.ts","scripts":{"build":"tsc","test":"xrun --serial build xarc/test-only","coverage":"xrun --serial build xarc/test-cov","publish-util-pre":"publish-util-prepublishonly","prepublishOnly":"xrun --serial [[build, docs], xarc/check, publish-util-pre]","docs":"xrun xarc/docs && touch docs/.nojekyll","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"publishConfig":{"access":"public","tag":"v1"},"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"@istanbuljs/nyc-config-typescript":"^1.0.1","@types/chai":"^4.2.14","@types/mocha":"^8.2.0","@types/node":"^14.14.16","@types/sinon":"^9.0.10","@types/sinon-chai":"^3.2.5","@typescript-eslint/eslint-plugin":"^4.11.0","@typescript-eslint/parser":"^4.11.0","@xarc/module-dev":"^4.0.0","babel-eslint":"^10.1.0","bad-main":"file:test/fixtures/bad-main","chai":"^4.2.0","eslint":"^7.16.0","eslint-config-walmart":"^2.2.1","eslint-plugin-filenames":"^1.1.0","eslint-plugin-jsdoc":"^30.7.9","eslint-plugin-tsdoc":"^0.2.11","istanbul":"^0.4.5","mocha":"^11.7.1","nyc":"^15.1.0","prettier":"^2.2.1","publish-util":"^1.1.6","require-missing":"file:test/fixtures/require-missing","sinon":"^9.2.2","sinon-chai":"^3.5.0","source-map-support":"^0.5.19","ts-node":"^10.9.2","typedoc":"^0.20.13","typescript":"^4.1.3"},"dependencies":{"require-at":"^1.0.6"},"prettier":{"printWidth":120},"mocha":{"require":["ts-node/register","source-map-support/register","@xarc/module-dev/config/test/setup.js"],"recursive":true},"nyc":{"extends":["@istanbuljs/nyc-config-typescript"],"all":true,"reporter":["lcov","text","text-summary"],"exclude":["*clap.js","*clap.ts",".eslintrc.js","coverage","docs","gulpfile.js","test","xrun*.js","xrun*.ts","src","dist/**/*.ts","index.d.ts","index.js"],"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100,"cache":true,"exclude-after-remap":false,"sourceMap":true,"produce-source-map":true},"@xarc/module-dev":{"features":["eslint","eslintTS","mocha","prettier","typedoc","typescript"]},"_id":"optional-require@1.1.10","readmeFilename":"README.md","gitHead":"5691cccf191dcadb3d33bae58ce95f3964185aaa","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_nodeVersion":"24.2.0","_npmVersion":"11.3.0","dist":{"shasum":"35ea423c5442df157c084f8d5a9d5250bba1de47","size":6595,"noattachment":false,"key":"/optional-require/-/optional-require-1.1.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.1.10.tgz"},"_npmUser":{"name":"jchip","actor":{"name":"jchip","type":"user","email":"joel123@gmail.com"},"email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/optional-require_1.1.10_1751339137627_0.4395284789357812"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-01T03:05:37.793Z","publish_time":1751339137793,"_source_registry_name":"default","_cnpm_publish_time":1751339137793},"2.0.3":{"name":"optional-require","version":"2.0.3","description":"NodeJS Require that let you handle module not found error without try/catch","type":"module","main":"./index.cjs","types":"./index.d.ts","exports":{".":{"import":"./dist-esm/esm/index.js","require":"./index.cjs"}},"scripts":{"build":"rm -rf dist-* && tsc --build tsconfig.esm.json && tsc --build tsconfig.cjs.json && ts2mjs --cjs --remove-source --skip-ts dist-cjs","test":"vitest run","test:coverage":"vitest run --coverage","docs":"xrun xarc/docs && touch docs/.nojekyll","prepack":"npm run build && publish-util-prepack","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=20"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"@types/node":"^20.8.9","@vitest/coverage-v8":"^3.1.4","@xarc/module-dev":"^5.0.0","prettier":"^2.3.2","publish-util":"^2.1.0","source-map-support":"^0.5.21","ts-node":"^10.9.1","ts2mjs":"github:jchip/ts2mjs#main","tsx":"^4.19.4","typedoc":"^0.25.2","typescript":"^5.2.2","vitest":"^3.1.4"},"dependencies":{"require-at":"^1.0.6"},"prettier":{"printWidth":120},"c8":{"all":true,"include":["src/**/*.ts"],"exclude":["test/**","test-cjs/**","dist/**","dist-esm/**","dist-cjs/**","demos/**","coverage/**","docs/**","*.config.*"],"reporter":["text","text-summary","lcov"],"excludeAfterRemap":true,"skip-full":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"@xarc/module-dev":{"features":["prettier","typedoc","typescript"]},"_id":"optional-require@2.0.3","gitHead":"8fb5efeb14b1f29b974fdf4104d1eb3093c1c719","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_nodeVersion":"24.2.0","_npmVersion":"11.3.0","dist":{"shasum":"3dee2c6725b6b3b3388ac548a571437635929502","size":8702,"noattachment":false,"key":"/optional-require/-/optional-require-2.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-2.0.3.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com","actor":{"name":"jchip","email":"joel123@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/optional-require_2.0.3_1751333282058_0.5038547018867017"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-01T01:28:02.261Z","publish_time":1751333282261,"_source_registry_name":"default","_cnpm_publish_time":1751333282261},"1.1.9":{"name":"optional-require","version":"1.1.9","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","types":"index.d.ts","scripts":{"build":"tsc","test":"xrun --serial build xarc/test-only","coverage":"xrun --serial build xarc/test-cov","publish-util-pre":"publish-util-prepublishonly","prepublishOnly":"xrun --serial [[build, docs], xarc/check, publish-util-pre]","docs":"xrun xarc/docs && touch docs/.nojekyll","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"publishConfig":{"access":"public","tag":"v1"},"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"@istanbuljs/nyc-config-typescript":"^1.0.1","@types/chai":"^4.2.14","@types/mocha":"^8.2.0","@types/node":"^14.14.16","@types/sinon":"^9.0.10","@types/sinon-chai":"^3.2.5","@typescript-eslint/eslint-plugin":"^4.11.0","@typescript-eslint/parser":"^4.11.0","@xarc/module-dev":"^4.0.0","babel-eslint":"^10.1.0","chai":"^4.2.0","eslint":"^7.16.0","eslint-config-walmart":"^2.2.1","eslint-plugin-filenames":"^1.1.0","eslint-plugin-jsdoc":"^30.7.9","eslint-plugin-tsdoc":"^0.2.11","istanbul":"^0.4.5","mocha":"^11.7.1","nyc":"^15.1.0","prettier":"^2.2.1","publish-util":"^1.1.6","sinon":"^9.2.2","sinon-chai":"^3.5.0","source-map-support":"^0.5.19","ts-node":"^10.9.2","typedoc":"^0.20.13","typescript":"^4.1.3"},"dependencies":{"require-at":"^1.0.6"},"prettier":{"printWidth":120},"mocha":{"require":["ts-node/register","source-map-support/register","@xarc/module-dev/config/test/setup.js"],"recursive":true},"nyc":{"extends":["@istanbuljs/nyc-config-typescript"],"all":true,"reporter":["lcov","text","text-summary"],"exclude":["*clap.js","*clap.ts",".eslintrc.js","coverage","docs","gulpfile.js","test","xrun*.js","xrun*.ts","src","dist/**/*.ts","index.d.ts","index.js"],"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100,"cache":true,"exclude-after-remap":false,"sourceMap":true,"produce-source-map":true},"@xarc/module-dev":{"features":["eslint","eslintTS","mocha","prettier","typedoc","typescript"]},"readmeFilename":"README.md","gitHead":"b99dbdb4828da95872f3fd023c5e6f3007a63ebb","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.1.9","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"shasum":"06b66d4683e74855798367c7ab4467d82c6a35f8","size":6468,"noattachment":false,"key":"/optional-require/-/optional-require-1.1.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.1.9.tgz"},"_npmUser":{"name":"jchip","actor":{"name":"jchip","type":"user","email":"joel123@gmail.com"},"email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/optional-require_1.1.9_1751332389530_0.8032569794442834"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-01T01:13:09.715Z","publish_time":1751332389715,"_source_registry_name":"default","_cnpm_publish_time":1751332389715},"2.0.2":{"name":"optional-require","version":"2.0.2","description":"NodeJS Require that let you handle module not found error without try/catch","type":"module","main":"./index.cjs","types":"./index.d.ts","exports":{".":{"import":"./dist-esm/esm/index.js","require":"./index.cjs"}},"scripts":{"build":"rm -rf dist-* && tsc --build tsconfig.esm.json && tsc --build tsconfig.cjs.json && ts2mjs --cjs --remove-source --skip-ts dist-cjs","test":"vitest run","test:coverage":"vitest run --coverage","docs":"xrun xarc/docs && touch docs/.nojekyll","prepack":"publish-util-prepack","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=20"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"@types/node":"^20.8.9","@vitest/coverage-v8":"^3.1.4","@xarc/module-dev":"^5.0.0","prettier":"^2.3.2","publish-util":"^2.1.0","source-map-support":"^0.5.21","ts-node":"^10.9.1","ts2mjs":"github:jchip/ts2mjs#main","tsx":"^4.19.4","typedoc":"^0.25.2","typescript":"^5.2.2","vitest":"^3.1.4"},"dependencies":{"require-at":"^1.0.6"},"prettier":{"printWidth":120},"c8":{"all":true,"include":["src/**/*.ts"],"exclude":["test/**","test-cjs/**","dist/**","dist-esm/**","dist-cjs/**","demos/**","coverage/**","docs/**","*.config.*"],"reporter":["text","text-summary","lcov"],"excludeAfterRemap":true,"skip-full":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"@xarc/module-dev":{"features":["prettier","typedoc","typescript"]},"_id":"optional-require@2.0.2","gitHead":"f2bf69dc88bbea60b46eac0dac6224328760080c","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_nodeVersion":"24.2.0","_npmVersion":"11.3.0","dist":{"shasum":"7bfd7b04048a68d34d27c7b769350250fd85842a","size":8655,"noattachment":false,"key":"/optional-require/-/optional-require-2.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-2.0.2.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com","actor":{"name":"jchip","email":"joel123@gmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/optional-require_2.0.2_1751329097076_0.8424261378083069"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-07-01T00:18:17.263Z","publish_time":1751329097263,"_source_registry_name":"default","_cnpm_publish_time":1751329097263},"2.0.1":{"name":"optional-require","version":"2.0.1","description":"NodeJS Require that let you handle module not found error without try/catch","type":"module","main":"./index.cjs","types":"./index.d.ts","exports":{".":{"import":"./dist-esm/esm/index.js","require":"./index.cjs"}},"scripts":{"build":"rm -rf dist-* && tsc --build tsconfig.esm.json && tsc --build tsconfig.cjs.json && ts2mjs --cjs --remove-source --skip-ts dist-cjs","test":"vitest run","test:coverage":"vitest run --coverage","docs":"xrun xarc/docs && touch docs/.nojekyll","prepack":"publish-util-prepack","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=20"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"@types/node":"^20.8.9","@vitest/coverage-v8":"^3.1.4","@xarc/module-dev":"^5.0.0","prettier":"^2.3.2","publish-util":"^2.1.0","source-map-support":"^0.5.21","ts-node":"^10.9.1","ts2mjs":"github:jchip/ts2mjs#main","tsx":"^4.19.4","typedoc":"^0.25.2","typescript":"^5.2.2","vitest":"^3.1.4"},"dependencies":{"require-at":"^1.0.6"},"prettier":{"printWidth":120},"c8":{"all":true,"include":["src/**/*.ts"],"exclude":["test/**","test-cjs/**","dist/**","dist-esm/**","dist-cjs/**","demos/**","coverage/**","docs/**","*.config.*"],"reporter":["text","text-summary","lcov"],"excludeAfterRemap":true,"skip-full":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"@xarc/module-dev":{"features":["prettier","typedoc","typescript"]},"_id":"optional-require@2.0.1","gitHead":"6cb688dce8f9dad4559e3ffd87154a67071ca56a","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_nodeVersion":"24.1.0","_npmVersion":"11.3.0","dist":{"shasum":"74f5d0122a70be78c951ebd04097e223d0f478a6","size":8625,"noattachment":false,"key":"/optional-require/-/optional-require-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-2.0.1.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/optional-require_2.0.1_1748940959680_0.6921654989346047"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-06-03T08:55:59.863Z","publish_time":1748940959863,"_source_registry_name":"default","_cnpm_publish_time":1748940959863},"2.0.0":{"name":"optional-require","version":"2.0.0","description":"NodeJS Require that let you handle module not found error without try/catch","type":"module","main":"./index.cjs","types":"./index.d.ts","exports":{".":{"import":"./dist-esm/esm/index.js","require":"./index.cjs"}},"scripts":{"build":"rm -rf dist-* && tsc --build tsconfig.esm.json && tsc --build tsconfig.cjs.json && ts2mjs --cjs --remove-source --skip-ts dist-cjs","test":"vitest run","test:coverage":"vitest run --coverage","docs":"xrun xarc/docs && touch docs/.nojekyll","prepack":"publish-util-prepack","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=20"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"@types/node":"^20.8.9","@vitest/coverage-v8":"^3.1.4","@xarc/module-dev":"^5.0.0","prettier":"^2.3.2","publish-util":"^2.1.0","source-map-support":"^0.5.21","ts-node":"^10.9.1","ts2mjs":"github:jchip/ts2mjs#main","tsx":"^4.19.4","typedoc":"^0.25.2","typescript":"^5.2.2","vitest":"^3.1.4"},"dependencies":{"require-at":"^1.0.6"},"prettier":{"printWidth":120},"c8":{"all":true,"include":["src/**/*.ts"],"exclude":["test/**","test-cjs/**","dist/**","dist-esm/**","dist-cjs/**","demos/**","coverage/**","docs/**","*.config.*"],"reporter":["text","text-summary","lcov"],"excludeAfterRemap":true,"skip-full":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"@xarc/module-dev":{"features":["prettier","typedoc","typescript"]},"_id":"optional-require@2.0.0","gitHead":"96d85227e0c4cb79a6b356e82054250e5757b494","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_nodeVersion":"24.0.1","_npmVersion":"11.3.0","dist":{"shasum":"a521bd1e61e7f74f82e234468dc7b4f7615ac2dc","size":8623,"noattachment":false,"key":"/optional-require/-/optional-require-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-2.0.0.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/optional-require_2.0.0_1748727720949_0.6069450472902311"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-05-31T21:42:01.142Z","publish_time":1748727721142,"_source_registry_name":"default","_cnpm_publish_time":1748727721142},"1.1.8":{"name":"optional-require","version":"1.1.8","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","types":"index.d.ts","scripts":{"build":"tsc","test":"xrun --serial build xarc/test-only","coverage":"xrun --serial build xarc/test-cov","publish-util-pre":"publish-util-prepublishonly","prepublishOnly":"xrun --serial [[build, docs], xarc/check, publish-util-pre]","docs":"xrun xarc/docs && touch docs/.nojekyll","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","dependencies":{"require-at":"^1.0.6"},"gitHead":"977328d6e8a342fc214805586a32cb0044890640","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.1.8","_nodeVersion":"14.17.6","_npmVersion":"6.14.15","dist":{"shasum":"16364d76261b75d964c482b2406cb824d8ec44b7","size":6421,"noattachment":false,"key":"/optional-require/-/optional-require-1.1.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.1.8.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.1.8_1632291256154_0.4258928964684159"},"_hasShrinkwrap":false,"publish_time":1632291256500,"_cnpm_publish_time":1632291256500},"1.1.7":{"name":"optional-require","version":"1.1.7","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","types":"index.d.ts","scripts":{"build":"tsc","test":"xrun --serial build xarc/test-only","coverage":"xrun --serial build xarc/test-cov","publish-util-pre":"publish-util-prepublishonly","prepublishOnly":"xrun --serial [[build, docs], xarc/check, publish-util-pre]","docs":"xrun xarc/docs && touch docs/.nojekyll","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","dependencies":{"require-at":"^1.0.6"},"gitHead":"8507fa2000d7e42129eaa6d5b0da08bbc49b6aee","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.1.7","_nodeVersion":"12.22.1","_npmVersion":"6.14.12","dist":{"shasum":"9ab5b254f59534108d4b2201d9ae96a063abc015","size":5823,"noattachment":false,"key":"/optional-require/-/optional-require-1.1.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.1.7.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.1.7_1628810116342_0.12942770689478578"},"_hasShrinkwrap":false,"publish_time":1628810116482,"_cnpm_publish_time":1628810116482},"1.1.6":{"name":"optional-require","version":"1.1.6","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","types":"index.d.ts","scripts":{"build":"tsc","test":"xrun --serial build xarc/test-only","coverage":"xrun --serial build xarc/test-cov","publish-util-pre":"publish-util-prepublishonly","prepublishOnly":"xrun --serial [[build, docs], xarc/check, publish-util-pre]","docs":"xrun xarc/docs && touch docs/.nojekyll","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","dependencies":{"require-at":"^1.0.6"},"gitHead":"d32bd8b2c7acca80e7bd0da125ec004f432f4be9","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.1.6","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"shasum":"886693c22d166c79377137dfb60cd653fa49a967","size":5672,"noattachment":false,"key":"/optional-require/-/optional-require-1.1.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.1.6.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.1.6_1628351554714_0.49089802927205106"},"_hasShrinkwrap":false,"publish_time":1628351554846,"_cnpm_publish_time":1628351554846},"1.1.5":{"name":"optional-require","version":"1.1.5","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"xrun --serial build xarc/test-only","coverage":"xrun --serial build xarc/test-cov","publish-util-pre":"publish-util-prepublishonly","prepublishOnly":"xrun --serial [[build, docs], xarc/check, publish-util-pre]","docs":"xrun xarc/docs && touch docs/.nojekyll","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","dependencies":{"require-at":"^1.0.6"},"gitHead":"e7a6f3221507cd7a9ba2671891d045a31f95b573","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.1.5","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"shasum":"dd8c2783d19bc8de9f69d883fe8cc30a4704ca1e","size":5608,"noattachment":false,"key":"/optional-require/-/optional-require-1.1.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.1.5.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.1.5_1628326519115_0.7031875593471735"},"_hasShrinkwrap":false,"publish_time":1628326519277,"_cnpm_publish_time":1628326519277},"1.1.4":{"name":"optional-require","version":"1.1.4","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"xrun --serial build xarc/test-only","coverage":"xrun --serial build xarc/test-cov","publish-util-pre":"publish-util-prepublishonly","prepublishOnly":"xrun --serial [[build, docs], xarc/check, publish-util-pre]","docs":"xrun xarc/docs && touch docs/.nojekyll","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","dependencies":{"require-at":"^1.0.6"},"gitHead":"926ef018e7c3a35bea6fa11ff4f8c5421d954bbc","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.1.4","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"shasum":"8af7da26b17da76abbf8a1c46e2e148a63813c0e","size":5589,"noattachment":false,"key":"/optional-require/-/optional-require-1.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.1.4.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.1.4_1628177767613_0.9934004871835262"},"_hasShrinkwrap":false,"publish_time":1628177767825,"_cnpm_publish_time":1628177767825},"1.1.3":{"name":"optional-require","version":"1.1.3","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"xrun --serial build xarc/test-only","coverage":"xrun --serial build xarc/test-cov","publish-util-pre":"publish-util-prepublishonly","prepublishOnly":"xrun --serial [[build, docs], xarc/check, publish-util-pre]","docs":"xrun xarc/docs && touch docs/.nojekyll","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","dependencies":{"require-at":"^1.0.6"},"gitHead":"a6b44c94af77347fd8c301b5ecec08f6827793b2","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.1.3","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"shasum":"4dc44a7c118fe870731810e3ee013d1238b162e4","size":5585,"noattachment":false,"key":"/optional-require/-/optional-require-1.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.1.3.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.1.3_1628176930315_0.4467900886682832"},"_hasShrinkwrap":false,"publish_time":1628176930482,"_cnpm_publish_time":1628176930482},"1.1.2":{"name":"optional-require","version":"1.1.2","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","test":"xrun --serial build xarc/test-only","coverage":"xrun --serial build xarc/test-cov","publish-util-pre":"publish-util-prepublishonly","prepublishOnly":"xrun --serial [[build, docs], xarc/check, publish-util-pre]","docs":"xrun xarc/docs && touch docs/.nojekyll","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","dependencies":{"require-at":"^1.0.6"},"gitHead":"3ae8171ca1e2754bfb4a846112fbc989fc5d58b0","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.1.2","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"shasum":"90601d20142324c9e9d58e914172cc5a1674ad84","size":5585,"noattachment":false,"key":"/optional-require/-/optional-require-1.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.1.2.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.1.2_1628176608747_0.5588556204158686"},"_hasShrinkwrap":false,"publish_time":1628176608919,"_cnpm_publish_time":1628176608919},"1.1.1":{"name":"optional-require","version":"1.1.1","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","scripts":{"build":"tsc","test":"xrun --serial build xarc/test-only","coverage":"xrun --serial build xarc/test-cov","publish-util-pre":"publish-util-prepublishonly","prepublishOnly":"xrun --serial [[build, docs], xarc/check, publish-util-pre]","docs":"xrun xarc/docs && touch docs/.nojekyll","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","dependencies":{"require-at":"^1.0.6"},"gitHead":"2b744db910355534a6879ac312922774d6ae7bcc","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.1.1","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"shasum":"214314d1f9fbdd6f9e28fb12c9a3b4422ef93fdc","size":5574,"noattachment":false,"key":"/optional-require/-/optional-require-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.1.1.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.1.1_1627495313838_0.1838218749908651"},"_hasShrinkwrap":false,"publish_time":1627495314057,"_cnpm_publish_time":1627495314057},"1.1.0":{"name":"optional-require","version":"1.1.0","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","scripts":{"build":"tsc","test":"xrun --serial build xarc/test-only","coverage":"xrun --serial build xarc/test-cov","publish-util-pre":"publish-util-prepublishonly","prepublishOnly":"xrun --serial [[build, docs], xarc/check, publish-util-pre]","docs":"xrun xarc/docs && touch docs/.nojekyll","postpack":"publish-util-postpack"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","dependencies":{"require-at":"^1.0.6"},"gitHead":"425be0647bdb5e53dd5ccd602de2f46d6eb9ac85","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.1.0","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"shasum":"01dfbafbbc2e8d79e33558f5af3917f22cc35c2c","size":5557,"noattachment":false,"key":"/optional-require/-/optional-require-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.1.0.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.1.0_1626969823450_0.8131053219763871"},"_hasShrinkwrap":false,"publish_time":1626969823596,"_cnpm_publish_time":1626969823596},"1.0.3":{"name":"optional-require","version":"1.0.3","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","scripts":{"test":"mocha test/spec","coverage":"istanbul cover _mocha -- test/spec/*.js"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"chai":"^3.5.0","istanbul":"^0.4.5","mocha":"^3.2.0","prettier":"1.19.1","require-at":"^1.0.0"},"dependencies":{},"prettier":{"printWidth":120},"gitHead":"8808ec4401435a404d7d0319f2e95ef36b6e5d07","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.0.3","_nodeVersion":"14.16.1","_npmVersion":"6.14.12","dist":{"shasum":"275b8e9df1dc6a17ad155369c2422a440f89cb07","size":2584,"noattachment":false,"key":"/optional-require/-/optional-require-1.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.0.3.tgz"},"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.0.3_1618087099053_0.13518697121150391"},"_hasShrinkwrap":false,"publish_time":1618087099281,"_cnpm_publish_time":1618087099281},"1.0.2":{"name":"optional-require","version":"1.0.2","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","scripts":{"test":"mocha test/spec","coverage":"istanbul cover _mocha -- test/spec/*.js"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"chai":"^3.5.0","istanbul":"^0.4.5","mocha":"^3.2.0","prettier":"1.19.1","require-at":"^1.0.0"},"dependencies":{},"prettier":{"printWidth":120},"gitHead":"28e81595f24a6adee271f6751a5b809ff2e8a08e","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.0.2","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"shasum":"c6c2d05170f8578397e68521bb01d30ef8b80925","size":2370,"noattachment":false,"key":"/optional-require/-/optional-require-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.0.2.tgz"},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.0.2_1595097448568_0.25191480414904177"},"_hasShrinkwrap":false,"publish_time":1595097448675,"_cnpm_publish_time":1595097448675},"1.0.1":{"name":"optional-require","version":"1.0.1","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","scripts":{"test":"mocha test/spec","coverage":"istanbul cover _mocha -- test/spec/*.js"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":["optional require","optional","require"],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"chai":"^3.5.0","istanbul":"^0.4.5","mocha":"^3.2.0","require-at":"^1.0.0"},"dependencies":{"prettier":"1.19.1"},"prettier":{"printWidth":120},"gitHead":"893cc9f2f82a010c29d1e6559fb473311f60563a","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.0.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"shasum":"4d33e9eb93af2f979284ec0174e4fee41d720c64","size":2369,"noattachment":false,"key":"/optional-require/-/optional-require-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.0.1.tgz"},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/optional-require_1.0.1_1595043511831_0.5450674114982814"},"_hasShrinkwrap":false,"publish_time":1595043511961,"_cnpm_publish_time":1595043511961},"1.0.0":{"name":"optional-require","version":"1.0.0","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","scripts":{"test":"mocha test/spec","cover":"istanbul cover _mocha -- test/spec/*.js"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":[],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"chai":"^3.5.0","istanbul":"^0.4.5","mocha":"^3.2.0"},"dependencies":{},"gitHead":"d0547ee73a96178f85f9024cd0238a6d2e5816b4","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@1.0.0","_shasum":"168d3619843acc0fbcd6d6cc5da4cbe538663af2","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.6.1","_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"dist":{"shasum":"168d3619843acc0fbcd6d6cc5da4cbe538663af2","size":2019,"noattachment":false,"key":"/optional-require/-/optional-require-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-1.0.0.tgz"},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/optional-require-1.0.0.tgz_1486249374245_0.8823052803054452"},"directories":{},"publish_time":1486249374482,"_cnpm_publish_time":1486249374482,"_hasShrinkwrap":false},"0.1.3":{"name":"optional-require","version":"0.1.3","description":"NodeJS Require that let you handle module not found error without try/catch","main":"index.js","scripts":{"test":"mocha test/spec","cover":"istanbul cover _mocha -- test/spec/*.js"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":[],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"chai":"^3.5.0","istanbul":"^0.4.5","mocha":"^3.2.0"},"dependencies":{},"gitHead":"d11777916242f52629345965db8dc2e9c31050a0","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@0.1.3","_shasum":"c0ffc6733da320dc11b9eb117b0bff9dd5a69ed4","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.6.1","_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"dist":{"shasum":"c0ffc6733da320dc11b9eb117b0bff9dd5a69ed4","size":2019,"noattachment":false,"key":"/optional-require/-/optional-require-0.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-0.1.3.tgz"},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/optional-require-0.1.3.tgz_1486248755195_0.2601476942654699"},"directories":{},"publish_time":1486248755431,"_cnpm_publish_time":1486248755431,"_hasShrinkwrap":false},"0.1.2":{"name":"optional-require","version":"0.1.2","description":"Optional Require","main":"index.js","scripts":{"test":"mocha test/spec","cover":"istanbul cover _mocha -- test/spec/*.js"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":[],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"chai":"^3.5.0","istanbul":"^0.4.5","mocha":"^3.2.0"},"dependencies":{},"gitHead":"8cd456bc5cc08e436505ff643e7d33078ab9f87e","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@0.1.2","_shasum":"a625e52d670e55d6a5e7010f1d054525ffeea01d","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.6.1","_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"dist":{"shasum":"a625e52d670e55d6a5e7010f1d054525ffeea01d","size":1380,"noattachment":false,"key":"/optional-require/-/optional-require-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-0.1.2.tgz"},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/optional-require-0.1.2.tgz_1486206148238_0.06727996584959328"},"directories":{},"publish_time":1486206150219,"_cnpm_publish_time":1486206150219,"_hasShrinkwrap":false},"0.1.1":{"name":"optional-require","version":"0.1.1","description":"Optional Require","main":"index.js","scripts":{"test":"mocha test/spec","cover":"istanbul cover _mocha -- test/spec/*.js"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":[],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"chai":"^3.5.0","istanbul":"^0.4.5","mocha":"^3.2.0"},"dependencies":{},"gitHead":"49ee04a9b419dbbc6fbb8d1672277d70cf918596","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@0.1.1","_shasum":"00e7019a746db47114cae27bf0e86adbc5173376","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.6.1","_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"dist":{"shasum":"00e7019a746db47114cae27bf0e86adbc5173376","size":1060,"noattachment":false,"key":"/optional-require/-/optional-require-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-0.1.1.tgz"},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/optional-require-0.1.1.tgz_1486203863749_0.31361975334584713"},"directories":{},"publish_time":1486203863978,"_cnpm_publish_time":1486203863978,"_hasShrinkwrap":false},"0.1.0":{"name":"optional-require","version":"0.1.0","description":"Optional Require","main":"index.js","scripts":{"test":"mocha test/spec","cover":"istanbul cover _mocha -- test/spec/*.js"},"repository":{"type":"git","url":"git+https://github.com/jchip/optional-require.git"},"keywords":[],"engines":{"node":">=4"},"author":{"name":"Joel Chen"},"license":"Apache-2.0","devDependencies":{"chai":"^3.5.0","istanbul":"^0.4.5","mocha":"^3.2.0"},"dependencies":{},"gitHead":"6975c5ad6f4b705aea8c95702e62b8c5d832b981","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"homepage":"https://github.com/jchip/optional-require#readme","_id":"optional-require@0.1.0","_shasum":"a92072276a37e733cf34b0539ed0a54f784538e8","_from":".","_npmVersion":"4.0.3","_nodeVersion":"4.6.1","_npmUser":{"name":"jchip","email":"joel123@gmail.com"},"dist":{"shasum":"a92072276a37e733cf34b0539ed0a54f784538e8","size":1182,"noattachment":false,"key":"/optional-require/-/optional-require-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/optional-require/download/optional-require-0.1.0.tgz"},"maintainers":[{"name":"jchip","email":"joel123@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/optional-require-0.1.0.tgz_1486202723535_0.813416670076549"},"directories":{},"publish_time":1486202725500,"_cnpm_publish_time":1486202725500,"_hasShrinkwrap":false}},"readme":"[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url]\n[![Dependency Status][daviddm-image]][daviddm-url] [![devDependency Status][daviddm-dev-image]][daviddm-dev-url]\n\n# Optional Require\n\nnode.js require that let you handle module not found error without try/catch. Allows you to gracefully require a module only if it exists and contains no error.\n\n## Why not try/catch?\n\nSo why not just do:\n\n```ts\nlet some;\ntry {\n  some = require(\"some-optional-module\");\n} catch {\n  // do nothing\n}\n```\n\n1. **Variable scoping**: You need to keep the variable outside: `let some` before try/catch\n2. **Error differentiation**: You need additional logic to distinguish between \"module not found\" vs \"module has syntax/runtime errors\". If `\"some-optional-module\"` contains error itself, above code will silently ignore it, leaving you, and more importantly, your users, puzzling on why it's not working -- the original reason that prompted the creation of this package.\n3. **Code readability**: Nested try/catch blocks make code harder to read and maintain, especially when dealing with multiple optional modules\n\n## Usage\n\n**ES Modules:**\n```js\nimport { optionalRequire } from \"optional-require\";\n\nconst some = optionalRequire(\"some-optional-module\");\nconst bar = optionalRequire(\"bar\", true); // log message when not found\nconst xyz = optionalRequire(\"xyz\", \"test\"); // log with custom message\nconst fbPath = optionalRequire.resolve(\"foo\", \"foo doesn't exist\");\n```\n\n**CommonJS:**\n```js\nconst { optionalRequire } = require(\"optional-require\");\n\nconst foo = optionalRequire(\"foo\") || {};\nconst rel = optionalRequire(\"../foo/bar\", { require }); // relative paths need require\n```\n\n### Custom Context\n\nTo require modules relative to your file, bind the function to your context:\n\n**ESM:**\n```js\nimport { makeOptionalRequire } from \"optional-require\";\nconst optionalRequire = makeOptionalRequire(import.meta.url);\nconst myModule = optionalRequire(\"./my-module\");\n```\n\n**CommonJS:**\n```js\nconst { makeOptionalRequire } = require(\"optional-require\");\nconst optionalRequire = makeOptionalRequire(__dirname);\n// or\nconst optionalRequire = makeOptionalRequire(require);\nconst myModule = optionalRequire(\"./my-module\");\n```\n\n## Requirements\n\n- **Node.js 20+**: Full support for both ESM and CommonJS through conditional exports\n\n## Legacy Usage\n\nIn older versions, this module exports `makeOptionalRequire` directly and this is the legacy usage in **CommonJS only**, which is still supported:\n\n```js\nconst optionalRequire = require(\"optional-require\")(require);\n\nconst foo = optionalRequire(\"foo\") || {};\nconst bar = optionalRequire(\"bar\", true); // true enables console.log a message when not found\nconst xyz = optionalRequire(\"xyz\", \"test\"); // \"test\" enables console.log a message with \"test\" added.\nconst fbPath = optionalRequire.resolve(\"foo\", \"foo doesn't exist\");\nconst rel = optionalRequire(\"../foo/bar\"); // relative module path works\n```\n\n**Note**: This legacy pattern only works in CommonJS mode since it relies on the `require` function.\n\n## API\n\n<https://jchip.github.io/optional-require/modules.html#optionalrequire>\n\n# LICENSE\n\nApache-2.0 © [Joel Chen](https://github.com/jchip)\n\n[travis-image]: https://travis-ci.org/jchip/optional-require.svg?branch=master\n[travis-url]: https://travis-ci.org/jchip/optional-require\n[npm-image]: https://badge.fury.io/js/optional-require.svg\n[npm-url]: https://npmjs.org/package/optional-require\n[daviddm-image]: https://david-dm.org/jchip/optional-require/status.svg\n[daviddm-url]: https://david-dm.org/jchip/optional-require\n[daviddm-dev-image]: https://david-dm.org/jchip/optional-require/dev-status.svg\n[daviddm-dev-url]: https://david-dm.org/jchip/optional-require?type=dev\n","_attachments":{},"homepage":"https://github.com/jchip/optional-require#readme","bugs":{"url":"https://github.com/jchip/optional-require/issues"},"license":"Apache-2.0"}