{"_id":"sync-content","_rev":"4063239","name":"sync-content","description":"Synchronize the contents of one folder to another location, only copying files if contents differ.","dist-tags":{"latest":"2.0.1"},"maintainers":[{"name":"isaacs","email":""}],"time":{"modified":"2025-09-24T04:26:14.000Z","created":"2023-06-05T20:58:46.758Z","2.0.1":"2024-07-08T22:31:07.913Z","2.0.0":"2024-07-08T22:28:14.861Z","1.0.2":"2023-06-06T19:59:36.683Z","1.0.1":"2023-06-05T21:05:27.475Z","1.0.0":"2023-06-05T20:58:46.758Z"},"users":{},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://blog.izs.me"},"repository":{"type":"git","url":"git+https://github.com/isaacs/sync-content.git"},"versions":{"2.0.1":{"name":"sync-content","version":"2.0.1","description":"Synchronize the contents of one folder to another location, only copying files if contents differ.","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://blog.izs.me"},"main":"./dist/commonjs/index.js","module":"./dist/esm/index.js","bin":{"sync-content":"dist/esm/bin.mjs"},"exports":{"./package.json":"./package.json",".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}}},"license":"BlueOak-1.0.0","scripts":{"preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","prepare":"tshy","pretest":"npm run prepare","presnap":"npm run prepare","test":"tap","snap":"tap","format":"prettier --write . --loglevel warn","typedoc":"typedoc --tsconfig tsconfig-esm.json ./src/*.ts"},"prettier":{"experimentalTernaries":true,"semi":false,"printWidth":75,"tabWidth":2,"useTabs":false,"singleQuote":true,"jsxSingleQuote":false,"bracketSameLine":true,"arrowParens":"avoid","endOfLine":"lf"},"dependencies":{"glob":"^11.0.0","mkdirp":"^3.0.1","path-scurry":"^2.0.0","rimraf":"^6.0.0","tshy":"^3.0.0"},"devDependencies":{"@types/node":"^20.14.10","prettier":"^3.3.2","tap":"^20.0.3","typedoc":"^0.26.3"},"engines":{"node":"20 || >=22"},"funding":{"url":"https://github.com/sponsors/isaacs"},"repository":{"type":"git","url":"git+https://github.com/isaacs/sync-content.git"},"type":"module","tshy":{"exports":{"./package.json":"./package.json",".":"./src/index.ts"}},"types":"./dist/commonjs/index.d.ts","_id":"sync-content@2.0.1","gitHead":"cba34a5d70ab5225186908f13811041d1baa6c71","bugs":{"url":"https://github.com/isaacs/sync-content/issues"},"homepage":"https://github.com/isaacs/sync-content#readme","_nodeVersion":"20.13.1","_npmVersion":"10.7.0","dist":{"shasum":"0707f734660b908feeccca99a50346ab72cfa713","size":8689,"noattachment":false,"key":"/sync-content/-/sync-content-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/sync-content/download/sync-content-2.0.1.tgz"},"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"maintainers":[{"name":"isaacs","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sync-content_2.0.1_1720477867666_0.4202128493231947"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-07-08T22:31:07.913Z","publish_time":1720477867913,"_source_registry_name":"default","_cnpm_publish_time":1720477867913},"2.0.0":{"name":"sync-content","version":"2.0.0","author":{"url":"https://blog.izs.me","name":"Isaac Z. Schlueter","email":"i@izs.me"},"license":"BlueOak-1.0.0","_id":"sync-content@2.0.0","maintainers":[{"name":"isaacs","email":""}],"homepage":"https://github.com/isaacs/sync-content#readme","bugs":{"url":"https://github.com/isaacs/sync-content/issues"},"bin":{"sync-content":"dist/esm/bin.mjs"},"dist":{"shasum":"4661c4cae4233640e8c5bd2cc66cef088e42497b","size":8701,"noattachment":false,"key":"/sync-content/-/sync-content-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/sync-content/download/sync-content-2.0.0.tgz"},"main":"./dist/commonjs/index.js","tshy":{"exports":{".":"./src/index.ts","./package.json":"./package.json"}},"type":"module","types":"./dist/commonjs/index.d.ts","module":"./dist/esm/index.js","engines":{"node":"20 || >=22"},"exports":{".":{"import":{"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},"./package.json":"./package.json"},"funding":{"url":"https://github.com/sponsors/isaacs"},"gitHead":"1c2dbdb058c93159818d03aa5fa548f6a1381584","scripts":{"snap":"tap","test":"tap","format":"prettier --write . --loglevel warn","prepare":"tshy","presnap":"npm run prepare","pretest":"npm run prepare","typedoc":"typedoc --tsconfig tsconfig-esm.json ./src/*.ts","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags"},"_npmUser":{"name":"isaacs","email":"i@izs.me"},"prettier":{"semi":false,"useTabs":false,"tabWidth":2,"endOfLine":"lf","printWidth":75,"arrowParens":"avoid","singleQuote":true,"jsxSingleQuote":false,"bracketSameLine":true,"experimentalTernaries":true},"repository":{"url":"git+https://github.com/isaacs/sync-content.git","type":"git"},"_npmVersion":"10.7.0","description":"Synchronize the contents of one folder to another location, only copying files if contents differ.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"glob":"^11.0.0","tshy":"^2.0.1","mkdirp":"^3.0.1","rimraf":"^6.0.0","path-scurry":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tap":"^20.0.3","typedoc":"^0.26.3","prettier":"^3.3.2","@types/node":"^20.14.10"},"_npmOperationalInternal":{"tmp":"tmp/sync-content_2.0.0_1720477694665_0.5200963234853468","host":"s3://npm-registry-packages"},"_cnpmcore_publish_time":"2024-07-08T22:28:14.861Z","publish_time":1720477694861,"_source_registry_name":"default","_cnpm_publish_time":1720477694861},"1.0.2":{"name":"sync-content","version":"1.0.2","description":"Synchronize the contents of one folder to another location, only copying files if contents differ.","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://blog.izs.me"},"main":"./dist/cjs/index.js","module":"./dist/mjs/index.js","bin":{"sync-content":"dist/mjs/bin.mjs"},"exports":{"./package.json":{"import":"./package.json","require":"./package.json"},".":{"import":{"types":"./dist/mjs/index.d.ts","default":"./dist/mjs/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"license":"BlueOak-1.0.0","scripts":{"preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","preprepare":"rm -rf dist","prepare":"tsc -p tsconfig.json && tsc -p tsconfig-esm.json && bash ./scripts/fixup.sh","pretest":"npm run prepare","presnap":"npm run prepare","test":"c8 tap","snap":"c8 tap","format":"prettier --write . --loglevel warn","typedoc":"typedoc --tsconfig tsconfig-esm.json ./src/*.ts"},"prettier":{"semi":false,"printWidth":75,"tabWidth":2,"useTabs":false,"singleQuote":true,"jsxSingleQuote":false,"bracketSameLine":true,"arrowParens":"avoid","endOfLine":"lf"},"tap":{"coverage":false,"node-arg":["--no-warnings","--loader","ts-node/esm"],"ts":false},"dependencies":{"glob":"^10.2.6","mkdirp":"^3.0.1","path-scurry":"^1.9.2","rimraf":"^5.0.1"},"devDependencies":{"@types/node":"^20.1.5","@types/tap":"^15.0.8","c8":"^7.14.0","prettier":"^2.8.6","tap":"^16.3.6","ts-node":"^10.9.1","typedoc":"^0.24.7","typescript":"^5.0.2"},"engines":{"node":">=14"},"funding":{"url":"https://github.com/sponsors/isaacs"},"repository":{"type":"git","url":"git+https://github.com/isaacs/sync-content.git"},"types":"./dist/cjs/index.d.ts","gitHead":"01434170ffb5f9a601a7c3c37a1c5917035bcc0f","bugs":{"url":"https://github.com/isaacs/sync-content/issues"},"homepage":"https://github.com/isaacs/sync-content#readme","_id":"sync-content@1.0.2","_nodeVersion":"18.16.0","_npmVersion":"9.6.7","dist":{"shasum":"c76bca03e7d4c5a1ec3e5024f85144a7b592640d","size":8722,"noattachment":false,"key":"/sync-content/-/sync-content-1.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/sync-content/download/sync-content-1.0.2.tgz"},"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"maintainers":[{"name":"isaacs","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sync-content_1.0.2_1686081576511_0.6897591325093004"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-06T19:59:36.683Z","publish_time":1686081576683,"_source_registry_name":"default","_cnpm_publish_time":1686081576683},"1.0.1":{"name":"sync-content","version":"1.0.1","description":"Synchronize the contents of one folder to another location, only copying files if contents differ.","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://blog.izs.me"},"main":"./dist/cjs/index.js","module":"./dist/mjs/index.js","bin":{"sync-content":"dist/mjs/bin.mjs"},"exports":{"./package.json":{"import":"./package.json","require":"./package.json"},".":{"import":{"types":"./dist/mjs/index.d.ts","default":"./dist/mjs/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"license":"BlueOak-1.0.0","scripts":{"preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","preprepare":"rm -rf dist","prepare":"tsc -p tsconfig.json && tsc -p tsconfig-esm.json && bash ./scripts/fixup.sh","pretest":"npm run prepare","presnap":"npm run prepare","test":"c8 tap","snap":"c8 tap","format":"prettier --write . --loglevel warn","typedoc":"typedoc --tsconfig tsconfig-esm.json ./src/*.ts"},"prettier":{"semi":false,"printWidth":75,"tabWidth":2,"useTabs":false,"singleQuote":true,"jsxSingleQuote":false,"bracketSameLine":true,"arrowParens":"avoid","endOfLine":"lf"},"tap":{"coverage":false,"node-arg":["--no-warnings","--loader","ts-node/esm"],"ts":false},"dependencies":{"glob":"^10.2.6","mkdirp":"^3.0.1","path-scurry":"^1.9.2","rimraf":"^5.0.1"},"devDependencies":{"@types/node":"^20.1.5","@types/tap":"^15.0.8","c8":"^7.14.0","prettier":"^2.8.6","tap":"^16.3.6","ts-node":"^10.9.1","typedoc":"^0.24.7","typescript":"^5.0.2"},"engines":{"node":">=14"},"funding":{"url":"https://github.com/sponsors/isaacs"},"repository":{"type":"git","url":"git+https://github.com/isaacs/sync-content.git"},"types":"./dist/cjs/index.d.ts","gitHead":"769d7943f4426690ad20c84a07f6f18712bf1cfb","bugs":{"url":"https://github.com/isaacs/sync-content/issues"},"homepage":"https://github.com/isaacs/sync-content#readme","_id":"sync-content@1.0.1","_nodeVersion":"18.16.0","_npmVersion":"9.6.7","dist":{"shasum":"d13eaf84a1e7e952e353b2782695708941add2e2","size":8672,"noattachment":false,"key":"/sync-content/-/sync-content-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/sync-content/download/sync-content-1.0.1.tgz"},"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"maintainers":[{"name":"isaacs","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sync-content_1.0.1_1685999127273_0.8395383429463805"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-05T21:05:27.475Z","publish_time":1685999127475,"_source_registry_name":"default","_cnpm_publish_time":1685999127475},"1.0.0":{"name":"sync-content","version":"1.0.0","description":"Synchronize the contents of one folder to another location, only copying files if contents differ.","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"https://blog.izs.me"},"main":"./dist/cjs/index.js","module":"./dist/mjs/index.js","bin":{"sync-content":"dist/mjs/bin.mjs"},"exports":{"./package.json":{"import":"./package.json","require":"./package.json"},".":{"import":{"types":"./dist/mjs/index.d.ts","default":"./dist/mjs/index.js"},"require":{"types":"./dist/cjs/index.d.ts","default":"./dist/cjs/index.js"}}},"license":"BlueOak-1.0.0","scripts":{"preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","preprepare":"rm -rf dist","prepare":"tsc -p tsconfig.json && tsc -p tsconfig-esm.json && bash ./scripts/fixup.sh","pretest":"npm run prepare","presnap":"npm run prepare","test":"c8 tap","snap":"c8 tap","format":"prettier --write . --loglevel warn","typedoc":"typedoc --tsconfig tsconfig-esm.json ./src/*.ts"},"prettier":{"semi":false,"printWidth":75,"tabWidth":2,"useTabs":false,"singleQuote":true,"jsxSingleQuote":false,"bracketSameLine":true,"arrowParens":"avoid","endOfLine":"lf"},"tap":{"coverage":false,"node-arg":["--no-warnings","--loader","ts-node/esm"],"ts":false},"dependencies":{"glob":"^10.2.6","mkdirp":"^3.0.1","path-scurry":"^1.9.2","rimraf":"^5.0.1"},"devDependencies":{"@types/node":"^20.1.5","@types/tap":"^15.0.8","c8":"^7.14.0","prettier":"^2.8.6","tap":"^16.3.6","ts-node":"^10.9.1","typedoc":"^0.24.7","typescript":"^5.0.2"},"engines":{"node":">=14"},"funding":{"url":"https://github.com/sponsors/isaacs"},"repository":{"type":"git","url":"git+https://github.com/isaacs/sync-content.git"},"types":"./dist/cjs/index.d.ts","gitHead":"a0047813d7da88e5d6b2c7f7ee4254d5ef2b12e7","bugs":{"url":"https://github.com/isaacs/sync-content/issues"},"homepage":"https://github.com/isaacs/sync-content#readme","_id":"sync-content@1.0.0","_nodeVersion":"18.16.0","_npmVersion":"9.6.7","dist":{"shasum":"3c3f3bc092a08a7943e67f275ba8c4bbbfe339cc","size":8341,"noattachment":false,"key":"/sync-content/-/sync-content-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/sync-content/download/sync-content-1.0.0.tgz"},"_npmUser":{"name":"isaacs","email":"i@izs.me"},"directories":{},"maintainers":[{"name":"isaacs","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/sync-content_1.0.0_1685998726539_0.7488548100795034"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-05T20:58:46.758Z","publish_time":1685998726758,"_source_registry_name":"default","_cnpm_publish_time":1685998726758}},"readme":"# sync-content\n\nSynchronize the contents of one folder to another location, only\ncopying files if contents differ.\n\n## USAGE\n\n```js\nimport { syncContent, syncContentSync } from 'sync-content'\n\n// promise version will generally be faster, because parallel\nawait syncContent('/some/source/path', '/some/destination/path')\n\n// or sync version:\nsyncContentSync('/some/source/path', '/some/destination/path')\n\n// now they match!\n// Any files that already had matching contents were skipped.\n// Anything absent in the source was removed.\n// Anything that was the wrong type of entry was clobbered.\n```\n","_attachments":{},"homepage":"https://github.com/isaacs/sync-content#readme","bugs":{"url":"https://github.com/isaacs/sync-content/issues"},"license":"BlueOak-1.0.0"}