{"_id":"ts-clone-node","_rev":"176564","name":"ts-clone-node","description":"A library that helps you clone Nodes from a Typescript AST","dist-tags":{"latest":"1.0.0"},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"time":{"modified":"2022-10-18T09:20:02.000Z","created":"2021-05-28T22:38:04.592Z","1.0.0":"2022-05-30T09:35:19.622Z","0.3.32":"2022-04-12T20:25:00.621Z","0.3.30":"2022-01-03T09:41:13.507Z","0.3.29":"2021-11-17T22:19:57.230Z","0.3.28":"2021-09-21T12:48:22.764Z","0.3.27":"2021-09-21T12:20:07.434Z","0.3.26":"2021-09-21T07:36:39.547Z","0.3.25":"2021-08-31T19:40:37.112Z","0.3.24":"2021-06-11T14:24:40.759Z","0.3.23":"2021-05-29T23:04:48.201Z","0.3.22":"2021-05-29T22:17:35.086Z","0.3.21":"2021-05-29T21:28:16.345Z","0.3.20":"2021-05-28T22:38:04.592Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"versions":{"1.0.0":{"name":"ts-clone-node","version":"1.0.0","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build && dotcjs dist/cjs","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-*,ava --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.9","@types/node":"^17.0.36","@types/prettier":"^2.6.3","@typescript-eslint/eslint-plugin":"^5.26.0","@typescript-eslint/parser":"^5.26.0","@wessberg/ts-config":"^2.0.2","@wessberg/prettier-config":"1.0.0","crosspath":"1.0.0","dotcjs":"1.0.0","rollup-plugin-ts":"^2.0.7","sandhog":"^2.0.1","ava":"^3.15.0","eslint":"^8.16.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-jsdoc":"^39.3.2","husky":"^8.0.1","np":"7.6.1","pnpm":"^7.1.7","prettier":"^2.6.2","pretty-quick":"^3.1.3","rimraf":"^3.0.2","rollup":"^2.75.3","standard-changelog":"^2.0.27","ts-node":"^10.8.0","semver":"^7.3.7","helpertypes":"^0.0.18","tslib":"^2.4.0","npm-check-updates":"^13.0.3","typescript":"^4.7.2","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4","typescript-4-3-5":"npm:typescript@4.3.5","typescript-4-4-3":"npm:typescript@4.4.3","typescript-4-5-4":"npm:typescript@4.5.4"},"dependencies":{"compatfactory":"^1.0.1"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"exports":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.cjs"},"type":"module","types":"./dist/esm/index.d.ts","main":"./dist/cjs/index.cjs","module":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=14.9.0"},"prettier":"@wessberg/prettier-config","ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"400s","nonSemVerExperiments":{"configurableModuleFormat":true},"extensions":{"ts":"module"},"nodeArguments":["--loader=ts-node/esm"],"environmentVariables":{"FORCE_COLOR":"3"}},"gitHead":"7ddb943770284b7111e4c2047f6e1e31fdf4cb10","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@1.0.0","_nodeVersion":"18.2.0","_npmVersion":"8.9.0","dist":{"shasum":"aaffa5478cf303471cec9c3c8169e117a0f87614","size":89422,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-1.0.0.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-1.0.0.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_1.0.0_1653903319433_0.11578233959511186"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-30T12:20:40.653Z","publish_time":1653903319622,"_cnpm_publish_time":1653903319622},"0.3.32":{"name":"ts-clone-node","version":"0.3.32","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-*,ava --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.9","@types/node":"^17.0.23","@types/prettier":"^2.6.0","@typescript-eslint/eslint-plugin":"^5.19.0","@typescript-eslint/parser":"^5.19.0","@wessberg/ts-config":"^2.0.0","rollup-plugin-ts":"^2.0.5","sandhog":"^1.0.43","ava":"^3.15.0","eslint":"^8.13.0","eslint-config-prettier":"^8.5.0","eslint-plugin-import":"^2.26.0","eslint-plugin-jsdoc":"^39.2.0","husky":"^7.0.4","np":"7.6.1","pnpm":"^6.32.6","prettier":"^2.6.2","pretty-quick":"^3.1.3","rimraf":"^3.0.2","rollup":"^2.70.1","standard-changelog":"^2.0.27","ts-node":"^10.7.0","semver":"^7.3.7","helpertypes":"^0.0.18","tslib":"^2.3.1","npm-check-updates":"^12.5.9","typescript":"^4.6.3","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4","typescript-4-3-5":"npm:typescript@4.3.5","typescript-4-4-3":"npm:typescript@4.4.3","typescript-4-5-4":"npm:typescript@4.5.4"},"dependencies":{"compatfactory":"^0.0.13"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"d3d19f95f2b28e2365877691b542358434859083","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.32","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"shasum":"daf7f941282a6c8f89b2053bf7326d67d01401f4","size":88039,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.32.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.32.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.32_1649795100478_0.38041957272916216"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-04-12T20:25:25.821Z","publish_time":1649795100621,"_cnpm_publish_time":1649795100621},"0.3.30":{"name":"ts-clone-node","version":"0.3.30","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-* --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.9","@types/node":"^17.0.7","@types/prettier":"^2.4.2","@typescript-eslint/eslint-plugin":"^5.8.1","@typescript-eslint/parser":"^5.8.1","@wessberg/ts-config":"^2.0.0","rollup-plugin-ts":"^2.0.4","sandhog":"^1.0.43","ava":"^3.15.0","eslint":"^8.6.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.25.4","eslint-plugin-jsdoc":"^37.5.0","husky":"^7.0.4","np":"7.6.0","pnpm":"^6.24.4","prettier":"^2.5.1","pretty-quick":"^3.1.3","rimraf":"^3.0.2","rollup":"^2.62.0","standard-changelog":"^2.0.27","ts-node":"^10.4.0","semver":"^7.3.5","helpertypes":"^0.0.18","tslib":"^2.3.1","npm-check-updates":"^12.1.0","typescript":"^4.5.4","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4","typescript-4-3-5":"npm:typescript@4.3.5","typescript-4-4-3":"npm:typescript@4.4.3"},"dependencies":{"compatfactory":"^0.0.12"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"cdf60c0ae2272efbac21599214c6e8548d093eca","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.30","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"shasum":"ac61b2bcb7611e00fd4d12195d8964d438b6282d","size":86836,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.30.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.30.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.30_1641202873303_0.9855843535231903"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-01-03T09:41:21.644Z","publish_time":1641202873507,"_cnpm_publish_time":1641202873507},"0.3.29":{"name":"ts-clone-node","version":"0.3.29","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-* --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.9","@types/node":"^16.11.7","@types/prettier":"^2.4.2","@typescript-eslint/eslint-plugin":"^5.4.0","@typescript-eslint/parser":"^5.4.0","@wessberg/ts-config":"^1.1.3","rollup-plugin-ts":"^2.0.1","sandhog":"^1.0.43","ava":"^3.15.0","eslint":"^8.2.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.25.3","eslint-plugin-jsdoc":"^37.0.3","husky":"^7.0.4","np":"7.5.0","pnpm":"^6.22.2","prettier":"^2.4.1","pretty-quick":"^3.1.2","rimraf":"^3.0.2","rollup":"^2.60.0","standard-changelog":"^2.0.27","ts-node":"^10.4.0","semver":"^7.3.5","helpertypes":"^0.0.17","tslib":"^2.3.1","npm-check-updates":"^12.0.2","typescript":"^4.5.2","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4","typescript-4-3-5":"npm:typescript@4.3.5","typescript-4-4-3":"npm:typescript@4.4.3"},"dependencies":{"compatfactory":"^0.0.12"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"a408c71f221b4bbff1f028b69960484bb0baabbe","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.29","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"shasum":"e4de2239cbb6ba72455dc06e392a6685aad6b2fb","size":86512,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.29.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.29.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.29_1637187597068_0.5558471151705549"},"_hasShrinkwrap":false,"publish_time":1637187597230,"_cnpm_publish_time":1637187597230,"_cnpmcore_publish_time":"2021-12-16T21:12:05.733Z"},"0.3.28":{"name":"ts-clone-node","version":"0.3.28","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-* --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.8","@types/node":"^16.9.4","@types/prettier":"^2.3.2","@typescript-eslint/eslint-plugin":"^4.31.2","@typescript-eslint/parser":"^4.31.2","@wessberg/ts-config":"^1.1.3","rollup-plugin-ts":"^1.4.3","sandhog":"^1.0.41","ava":"^3.15.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.24.2","eslint-plugin-jsdoc":"^36.1.0","husky":"^7.0.2","np":"7.5.0","pnpm":"^6.15.1","prettier":"^2.4.1","pretty-quick":"^3.1.1","rimraf":"^3.0.2","rollup":"^2.56.3","standard-changelog":"^2.0.27","ts-node":"^10.2.1","semver":"^7.3.5","helpertypes":"^0.0.12","tslib":"^2.3.1","npm-check-updates":"^11.8.5","typescript":"^4.4.3","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4","typescript-4-3-5":"npm:typescript@4.3.5"},"dependencies":{"compatfactory":"^0.0.9"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"bef4940267caa248c766176aa4e865accd04523a","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.28","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"shasum":"6328c50f49ebafa1c46721631257d7d48dc8ceb7","size":85488,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.28.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.28.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.28_1632228502496_0.433142976645323"},"_hasShrinkwrap":false,"publish_time":1632228502764,"_cnpm_publish_time":1632228502764,"_cnpmcore_publish_time":"2021-12-16T21:12:06.378Z"},"0.3.27":{"name":"ts-clone-node","version":"0.3.27","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-* --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.8","@types/node":"^16.9.4","@types/prettier":"^2.3.2","@typescript-eslint/eslint-plugin":"^4.31.2","@typescript-eslint/parser":"^4.31.2","@wessberg/ts-config":"^1.1.3","rollup-plugin-ts":"^1.4.3","sandhog":"^1.0.41","ava":"^3.15.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.24.2","eslint-plugin-jsdoc":"^36.1.0","husky":"^7.0.2","np":"7.5.0","pnpm":"^6.15.1","prettier":"^2.4.1","pretty-quick":"^3.1.1","rimraf":"^3.0.2","rollup":"^2.56.3","standard-changelog":"^2.0.27","ts-node":"^10.2.1","semver":"^7.3.5","helpertypes":"^0.0.12","tslib":"^2.3.1","npm-check-updates":"^11.8.5","typescript":"^4.4.3","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4","typescript-4-3-5":"npm:typescript@4.3.5"},"dependencies":{"compatfactory":"^0.0.9"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"b35857689b4a5868ca08f9029aa5ad302ce567a3","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.27","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"shasum":"c3d81e7d4ea17d1b8d009c32b0cb691df888de85","size":85141,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.27.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.27.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.27_1632226807262_0.19599763730416297"},"_hasShrinkwrap":false,"publish_time":1632226807434,"_cnpm_publish_time":1632226807434,"_cnpmcore_publish_time":"2021-12-16T21:12:06.676Z"},"0.3.26":{"name":"ts-clone-node","version":"0.3.26","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-* --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.8","@types/node":"^16.7.9","@types/prettier":"^2.3.2","@typescript-eslint/eslint-plugin":"^4.30.0","@typescript-eslint/parser":"^4.30.0","@wessberg/ts-config":"^1.1.2","rollup-plugin-ts":"^1.4.0","sandhog":"^1.0.41","ava":"^3.15.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.24.2","eslint-plugin-jsdoc":"^36.0.8","husky":"^7.0.2","np":"7.5.0","pnpm":"^6.14.5","prettier":"^2.3.2","pretty-quick":"^3.1.1","rimraf":"^3.0.2","rollup":"^2.56.3","standard-changelog":"^2.0.27","ts-node":"^10.2.1","semver":"^7.3.5","helpertypes":"^0.0.4","tslib":"^2.3.1","npm-check-updates":"^11.8.3","typescript":"^4.4.2","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4","typescript-4-3-5":"npm:typescript@4.3.5"},"dependencies":{"compatfactory":"^0.0.9"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"5a2a368d25c7321ef38ab3458c4ec9f1f4643c40","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.26","_nodeVersion":"16.9.1","_npmVersion":"7.21.1","dist":{"shasum":"dac3dd73126019d502a46c2b7d735abbb9725513","size":85086,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.26.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.26.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.26_1632209799394_0.7843679158677328"},"_hasShrinkwrap":false,"publish_time":1632209799547,"_cnpm_publish_time":1632209799547,"_cnpmcore_publish_time":"2021-12-16T21:12:07.271Z"},"0.3.25":{"name":"ts-clone-node","version":"0.3.25","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-* --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.8","@types/node":"^16.7.9","@types/prettier":"^2.3.2","@typescript-eslint/eslint-plugin":"^4.30.0","@typescript-eslint/parser":"^4.30.0","@wessberg/ts-config":"^1.1.2","rollup-plugin-ts":"^1.4.0","sandhog":"^1.0.41","ava":"^3.15.0","eslint":"^7.32.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.24.2","eslint-plugin-jsdoc":"^36.0.8","husky":"^7.0.2","np":"7.5.0","pnpm":"^6.14.5","prettier":"^2.3.2","pretty-quick":"^3.1.1","rimraf":"^3.0.2","rollup":"^2.56.3","standard-changelog":"^2.0.27","ts-node":"^10.2.1","semver":"^7.3.5","helpertypes":"^0.0.4","tslib":"^2.3.1","npm-check-updates":"^11.8.3","typescript":"^4.4.2","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4","typescript-4-3-5":"npm:typescript@4.3.5"},"dependencies":{"compatfactory":"^0.0.9"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"b78730791924e3849998af2242ca8b3cf4d553a5","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.25","_nodeVersion":"14.4.0","_npmVersion":"6.14.5","dist":{"shasum":"c20cb37f4656a9fcfbe8a45f110b72cadcbf6f1a","size":88910,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.25.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.25.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.25_1630438836988_0.6815976521901872"},"_hasShrinkwrap":false,"publish_time":1630438837112,"_cnpm_publish_time":1630438837112,"_cnpmcore_publish_time":"2021-12-16T21:12:07.660Z"},"0.3.24":{"name":"ts-clone-node","version":"0.3.24","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-* --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.6","@types/node":"^15.12.2","@types/prettier":"^2.3.0","@typescript-eslint/eslint-plugin":"^4.26.1","@typescript-eslint/parser":"^4.26.1","@wessberg/rollup-plugin-ts":"^1.3.14","@wessberg/ts-config":"^1.1.2","sandhog":"^1.0.41","ava":"^3.15.0","eslint":"^7.28.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.23.4","eslint-plugin-jsdoc":"^35.1.3","husky":"^6.0.0","np":"7.5.0","pnpm":"^6.7.4","prettier":"^2.3.1","pretty-quick":"^3.1.0","rimraf":"^3.0.2","rollup":"^2.51.2","standard-changelog":"^2.0.27","ts-node":"^10.0.0","semver":"^7.3.5","helpertypes":"^0.0.3","tslib":"^2.2.0","npm-check-updates":"^11.6.0","typescript":"^4.3.2","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4"},"dependencies":{"compatfactory":"^0.0.8"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"95c404126b433eb53de5e8f345f50335747650a5","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.24","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"shasum":"eb7483e93818de708513e31f64ca2d608f4442ec","size":85723,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.24.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.24.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.24_1623421480619_0.12442799066050858"},"_hasShrinkwrap":false,"publish_time":1623421480759,"_cnpm_publish_time":1623421480759,"_cnpmcore_publish_time":"2021-12-16T21:12:07.998Z"},"0.3.23":{"name":"ts-clone-node","version":"0.3.23","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-* --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.6","@types/node":"^15.6.1","@types/prettier":"^2.2.3","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@wessberg/rollup-plugin-ts":"^1.3.14","@wessberg/ts-config":"^1.1.2","sandhog":"^1.0.41","ava":"^3.15.0","eslint":"^7.27.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.23.4","eslint-plugin-jsdoc":"^35.0.0","husky":"^6.0.0","np":"7.5.0","pnpm":"^6.6.1","prettier":"^2.3.0","pretty-quick":"^3.1.0","rimraf":"^3.0.2","rollup":"^2.50.4","standard-changelog":"^2.0.27","ts-node":"^10.0.0","semver":"^7.3.5","helpertypes":"^0.0.2","tslib":"^2.2.0","npm-check-updates":"^11.5.13","typescript":"^4.3.2","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4"},"dependencies":{"compatfactory":"^0.0.7"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"afeb0ec31295562cad6d261e5431534112048a5f","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.23","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"shasum":"031704daaf8ebdcddf7f75d2944bcb59fc7677d3","size":85197,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.23.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.23.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.23_1622329488096_0.9276782605654734"},"_hasShrinkwrap":false,"publish_time":1622329488201,"_cnpm_publish_time":1622329488201,"_cnpmcore_publish_time":"2021-12-16T21:12:08.531Z"},"0.3.22":{"name":"ts-clone-node","version":"0.3.22","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-* --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.6","@types/node":"^15.6.1","@types/prettier":"^2.2.3","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@wessberg/rollup-plugin-ts":"^1.3.14","@wessberg/ts-config":"^1.1.2","sandhog":"^1.0.41","ava":"^3.15.0","eslint":"^7.27.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.23.4","eslint-plugin-jsdoc":"^35.0.0","husky":"^6.0.0","np":"7.5.0","pnpm":"^6.6.1","prettier":"^2.3.0","pretty-quick":"^3.1.0","rimraf":"^3.0.2","rollup":"^2.50.4","standard-changelog":"^2.0.27","ts-node":"^10.0.0","semver":"^7.3.5","helpertypes":"^0.0.2","tslib":"^2.2.0","npm-check-updates":"^11.5.13","typescript":"^4.3.2","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4"},"dependencies":{"compatfactory":"^0.0.6"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"99ee1036db72952e3f8dc65c18642933d8635a27","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.22","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"shasum":"a6ef46675c401e2c8916bd119fdb776caa460f3a","size":85110,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.22.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.22.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.22_1622326654873_0.7346610667806661"},"_hasShrinkwrap":false,"publish_time":1622326655086,"_cnpm_publish_time":1622326655086,"_cnpmcore_publish_time":"2021-12-16T21:12:09.263Z"},"0.3.21":{"name":"ts-clone-node","version":"0.3.21","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates -x typescript-* --dep dev,prod","update:commit":"pnpx npm-check-updates -u -x typescript-* --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.6","@types/node":"^15.6.1","@types/prettier":"^2.2.3","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@wessberg/rollup-plugin-ts":"^1.3.14","@wessberg/ts-config":"^1.1.2","sandhog":"^1.0.41","ava":"^3.15.0","eslint":"^7.27.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.23.4","eslint-plugin-jsdoc":"^35.0.0","husky":"^6.0.0","np":"7.5.0","pnpm":"^6.6.1","prettier":"^2.3.0","pretty-quick":"^3.1.0","rimraf":"^3.0.2","rollup":"^2.50.4","standard-changelog":"^2.0.27","ts-node":"^10.0.0","semver":"^7.3.5","helpertypes":"^0.0.2","tslib":"^2.2.0","npm-check-updates":"^11.5.13","typescript":"^4.3.2","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4"},"dependencies":{"compatfactory":"^0.0.5"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/clone.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"000ceb9e43e687b587aef87489b2ad110f10a79e","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.21","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"shasum":"f45be4d4e68048cc95e0bde95d43e63dc19319f6","size":85105,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.21.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.21.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.21_1622323696176_0.5034938183437099"},"_hasShrinkwrap":false,"publish_time":1622323696345,"_cnpm_publish_time":1622323696345,"_cnpmcore_publish_time":"2021-12-16T21:12:09.591Z"},"0.3.20":{"name":"ts-clone-node","version":"0.3.20","description":"A library that helps you clone Nodes from a Typescript AST","scripts":{"generate:sandhog":"sandhog all --yes","generate:changelog":"standard-changelog --first-release","generate:all":"pnpm run generate:sandhog && pnpm run generate:changelog","clean":"rimraf dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\" --color","prettier":"prettier --write \"{src,test,documentation}/**/*.{js,ts,json,html,xml,css,md}\"","test":"ava","prebuild":"pnpm run clean","build":"pnpm run prebuild && pnpm run rollup","prewatch":"pnpm run clean","watch":"pnpm run prewatch && pnpm run rollup -- --watch","rollup":"rollup -c rollup.config.js","preversion":"pnpm run lint && pnpm run build","version":"pnpm run preversion && pnpm run generate:all && git add .","release":"np --no-cleanup --no-yarn","update:check":"pnpx npm-check-updates --dep dev,prod","update:commit":"pnpx npm-check-updates -u --dep dev,prod && pnpm update && pnpm install"},"keywords":["typescript","ast","node","clone","copy","duplicate"],"contributors":[{"name":"Frederik Wessberg","email":"frederikwessberg@hotmail.com","url":"https://github.com/wessberg"}],"license":"MIT","devDependencies":{"@types/semver":"^7.3.6","@types/node":"^15.6.1","@types/prettier":"^2.2.3","@typescript-eslint/eslint-plugin":"^4.25.0","@typescript-eslint/parser":"^4.25.0","@wessberg/rollup-plugin-ts":"^1.3.14","@wessberg/ts-config":"^1.1.2","sandhog":"^1.0.41","ava":"^3.15.0","eslint":"^7.27.0","eslint-config-prettier":"^8.3.0","eslint-plugin-import":"^2.23.3","eslint-plugin-jsdoc":"^35.0.0","husky":"^6.0.0","np":"7.5.0","pnpm":"^6.6.1","prettier":"^2.3.0","pretty-quick":"^3.1.0","rimraf":"^3.0.2","rollup":"^2.50.3","standard-changelog":"^2.0.27","ts-node":"^10.0.0","semver":"^7.3.5","helpertypes":"^0.0.2","tslib":"^2.2.0","typescript":"^4.3.2","typescript-3-0-1":"npm:typescript@3.0.1","typescript-3-1-1":"npm:typescript@3.1.1","typescript-3-2-1":"npm:typescript@3.2.1","typescript-3-3-1":"npm:typescript@3.3.1","typescript-3-4-1":"npm:typescript@3.4.1","typescript-3-5-1":"npm:typescript@3.5.1","typescript-3-6-2":"npm:typescript@3.6.2","typescript-3-7-2":"npm:typescript@3.7.2","typescript-3-8-3":"npm:typescript@3.8.3","typescript-3-9-2":"npm:typescript@3.9.2","typescript-4-0-3":"npm:typescript@4.0.3","typescript-4-1-2":"npm:typescript@4.1.2","typescript-4-2-4":"npm:typescript@4.2.4"},"dependencies":{"compatfactory":"^0.0.4"},"peerDependencies":{"typescript":"^3.x || ^4.x"},"main":"./dist/cjs/index.js","module":"./dist/esm/index.js","browser":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","typings":"./dist/esm/index.d.ts","es2015":"./dist/esm/index.js","funding":{"type":"github","url":"https://github.com/wessberg/ts-clone-node?sponsor=1"},"repository":{"type":"git","url":"git+https://github.com/wessberg/ts-clone-node.git"},"bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"engines":{"node":">=10.0.0"},"ava":{"files":["test/**.test.ts"],"verbose":true,"timeout":"40s","extensions":["ts"],"environmentVariables":{"NODE_OPTIONS":"--max_old_space_size=4096","FORCE_COLOR":"3"},"require":["ts-node/register/transpile-only"]},"gitHead":"1620aa72d1fc7be57a2549537d072c636a77505e","homepage":"https://github.com/wessberg/ts-clone-node#readme","_id":"ts-clone-node@0.3.20","_nodeVersion":"15.14.0","_npmVersion":"7.7.6","dist":{"shasum":"c246129d1a09825c53f0d8013c2d0d77e6b892f4","size":85077,"noattachment":false,"key":"/ts-clone-node/-/ts-clone-node-0.3.20.tgz","tarball":"http://name.csiicloud.com:7001/ts-clone-node/download/ts-clone-node-0.3.20.tgz"},"_npmUser":{"name":"wessberg","email":"frederikwessberg@gmail.com"},"directories":{},"maintainers":[{"name":"wessberg","email":"frederikwessberg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ts-clone-node_0.3.20_1622241484374_0.9721067323058243"},"_hasShrinkwrap":false,"publish_time":1622241484592,"_cnpm_publish_time":1622241484592,"_cnpmcore_publish_time":"2021-12-16T21:12:09.926Z"}},"readme":"<!-- SHADOW_SECTION_LOGO_START -->\n\n<div><img alt=\"Logo\" src=\"https://raw.githubusercontent.com/wessberg/ts-clone-node/master/documentation/asset/logo.png\" height=\"100\"   /></div>\n\n<!-- SHADOW_SECTION_LOGO_END -->\n\n<!-- SHADOW_SECTION_DESCRIPTION_SHORT_START -->\n\n> A library that helps you clone Nodes from a Typescript AST\n\n<!-- SHADOW_SECTION_DESCRIPTION_SHORT_END -->\n\n<!-- SHADOW_SECTION_BADGES_START -->\n\n<a href=\"https://npmcharts.com/compare/ts-clone-node?minimal=true\"><img alt=\"Downloads per month\" src=\"https://img.shields.io/npm/dm/ts-clone-node.svg\"    /></a>\n<a href=\"https://www.npmjs.com/package/ts-clone-node\"><img alt=\"NPM version\" src=\"https://badge.fury.io/js/ts-clone-node.svg\"    /></a>\n<img alt=\"Dependencies\" src=\"https://img.shields.io/librariesio/github/wessberg%2Fts-clone-node.svg\"    />\n<a href=\"https://github.com/wessberg/ts-clone-node/graphs/contributors\"><img alt=\"Contributors\" src=\"https://img.shields.io/github/contributors/wessberg%2Fts-clone-node.svg\"    /></a>\n<a href=\"https://github.com/prettier/prettier\"><img alt=\"code style: prettier\" src=\"https://img.shields.io/badge/code_style-prettier-ff69b4.svg\"    /></a>\n<a href=\"https://opensource.org/licenses/MIT\"><img alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\"    /></a>\n<a href=\"https://www.patreon.com/bePatron?u=11315442\"><img alt=\"Support on Patreon\" src=\"https://img.shields.io/badge/patreon-donate-green.svg\"    /></a>\n\n<!-- SHADOW_SECTION_BADGES_END -->\n\n<!-- SHADOW_SECTION_DESCRIPTION_LONG_START -->\n\n## Description\n\n<!-- SHADOW_SECTION_DESCRIPTION_LONG_END -->\n\nThe Typescript Compiler API is very powerful and comes with a lot of `create` and `update` functions that can be used for creating and updating nodes in [Custom transformers](https://github.com/Microsoft/TypeScript/pull/13940) while visiting\na `SourceFile`. Under such circumstances, it is easy to run into problems if you reuse a Node in another part of the tree without properly cloning it, since the `parent` chain, as well as the `pos` and `end` values will have wrong values and will lead to malformed output after your transformations have been applied.\n\nThis can be cumbersome for example when you want to simply add or remove a specific modifier from an arbitrary node in a given position.\nThis library exports a `cloneNode` function that makes it easy to deep-clone a Node from a Typescript AST without any faulty parent links.\nAdditionally, you get a simple hook with which you can do simple things such as edit the top-level properties of the cloned object such as its modifiers, decorators, etc.\n\n<!-- SHADOW_SECTION_FEATURES_START -->\n\n### Features\n\n<!-- SHADOW_SECTION_FEATURES_END -->\n\n- Simple to use\n- Extensible\n- Supports dynamic TypeScript versions\n\n<!-- SHADOW_SECTION_FEATURE_IMAGE_START -->\n\n<!-- SHADOW_SECTION_FEATURE_IMAGE_END -->\n\n<!-- SHADOW_SECTION_BACKERS_START -->\n\n## Backers\n\n[Become a sponsor/backer](https://github.com/wessberg/ts-clone-node?sponsor=1) and get your logo listed here.\n\n| <a href=\"https://usebubbles.com\"><img alt=\"Bubbles\" src=\"https://uploads-ssl.webflow.com/5d682047c28b217055606673/5e5360be16879c1d0dca6514_icon-thin-128x128%402x.png\" height=\"70\"   /></a> | <a href=\"https://github.com/cblanc\"><img alt=\"Christopher Blanchard\" src=\"https://avatars0.githubusercontent.com/u/2160685?s=400&v=4\" height=\"70\"   /></a> | <a href=\"https://github.com/ideal-postcodes\"><img alt=\"Ideal Postcodes\" src=\"https://avatars.githubusercontent.com/u/4996310?s=200&v=4\" height=\"70\"   /></a> | <a href=\"https://www.xerox.com\"><img alt=\"Xerox\" src=\"https://avatars.githubusercontent.com/u/9158512?s=200&v=4\" height=\"70\"   /></a> | <a href=\"https://changelog.me\"><img alt=\"Trent Raymond\" src=\"https://avatars.githubusercontent.com/u/1509616?v=4\" height=\"70\"   /></a> | <a href=\"https://scrubtheweb.com\"><img alt=\"scrubtheweb\" src=\"https://avatars.githubusercontent.com/u/41668218?v=4\" height=\"70\"   /></a> |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |\n| [Bubbles](https://usebubbles.com)<br><strong>Twitter</strong>: [@usebubbles](https://twitter.com/usebubbles)                                                                                | [Christopher Blanchard](https://github.com/cblanc)                                                                                                         | [Ideal Postcodes](https://github.com/ideal-postcodes)                                                                                                        | [Xerox](https://www.xerox.com)                                                                                                        | [Trent Raymond](https://changelog.me)                                                                                                  | [scrubtheweb](https://scrubtheweb.com)                                                                                                   |\n\n### Patreon\n\n<a href=\"https://www.patreon.com/bePatron?u=11315442\"><img alt=\"Patrons on Patreon\" src=\"https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3Dwessberg%26type%3Dpatrons\"  width=\"200\"  /></a>\n\n<!-- SHADOW_SECTION_BACKERS_END -->\n\n<!-- SHADOW_SECTION_TOC_START -->\n\n## Table of Contents\n\n- [Description](#description)\n  - [Features](#features)\n- [Backers](#backers)\n  - [Patreon](#patreon)\n- [Table of Contents](#table-of-contents)\n- [Install](#install)\n  - [npm](#npm)\n  - [Yarn](#yarn)\n  - [pnpm](#pnpm)\n  - [Peer Dependencies](#peer-dependencies)\n- [Usage](#usage)\n- [Configuration](#configuration)\n  - [Hooking into and altering transformations](#hooking-into-and-altering-transformations)\n  - [Passing in a specific TypeScript version](#passing-in-a-specific-typescript-version)\n  - [Passing in a specific NodeFactory](#passing-in-a-specific-nodefactory)\n  - [Setting parent pointers](#setting-parent-pointers)\n  - [Setting original node pointers](#setting-original-node-pointers)\n  - [Preserving comments](#preserving-comments)\n  - [Preserving symbols](#preserving-symbols)\n- [Contributing](#contributing)\n- [Maintainers](#maintainers)\n- [FAQ](#faq)\n  - [What is the point of this library](#what-is-the-point-of-this-library)\n- [License](#license)\n\n<!-- SHADOW_SECTION_TOC_END -->\n\n<!-- SHADOW_SECTION_INSTALL_START -->\n\n## Install\n\n### npm\n\n```\n$ npm install ts-clone-node\n```\n\n### Yarn\n\n```\n$ yarn add ts-clone-node\n```\n\n### pnpm\n\n```\n$ pnpm add ts-clone-node\n```\n\n### Peer Dependencies\n\n`ts-clone-node` depends on `typescript`, so you need to manually install this as well.\n\n<!-- SHADOW_SECTION_INSTALL_END -->\n\n<!-- SHADOW_SECTION_USAGE_START -->\n\n## Usage\n\n<!-- SHADOW_SECTION_USAGE_END -->\n\nTo clone a Node from a Typescript AST, all you have to do is:\n\n```typescript\nimport {cloneNode} from \"ts-clone-node\";\n\n// Clone the Node\nconst clonedNode = cloneNode(someNode);\n```\n\n## Configuration\n\n### Hooking into and altering transformations\n\nYou can pass in a hook that enables you to modify the clone, agnostic to the kind of Node it is.\nFor example:\n\n```typescript\nimport {cloneNode} from \"ts-clone-node\";\n\n// Clone the Node, and alter the modifiers such that they don't include a modifier pointing\n// to the 'declare' keyword\nconst clonedNode = cloneNode(someNode, {\n\thook: node => {\n\t\treturn {\n\t\t\tmodifiers: modifiers => ensureNoDeclareModifier(modifiers)\n\t\t};\n\t}\n});\n```\n\nThere is also a _'finalize'_ which is invoked after a node has been cloned at any recursive step from the top node, allowing you to perform\nfinal alterations or track the node for other purposes.\n\n```typescript\nconst clonedNode = cloneNode(someNode, {\n\tfinalize: (clonedNode, oldNode) => trackSomething(clonedNode, oldNode)\n});\n```\n\n### Passing in a specific TypeScript version\n\nYou can use pass a specific TypeScript to use as an option to `cloneNode`:\n\n```typescript\ncloneNode(someNode, {\n\ttypescript: specialTypescriptVersion\n});\n```\n\nThis can be useful, for example, in an environment where multiple packages in the same project depends\non different TypeScript versions and you're relying on `cloneNode`.\n\n### Passing in a specific NodeFactory\n\nFrom TypeScript v4 and forward, a `NodeFactory` can be retrieved from a `TransformationContext` to signal which transformer was responsible for creating or altering nodes. If you want to pass a specific `NodeFactory`, you can pass it as an option to `cloneNode`:\n\n```typescript\ncloneNode(someNode, {\n\tfactory: nodeFactoryFromTransformationContext\n});\n```\n\n### Setting parent pointers\n\nBy default, when you clone a node, it won't update the parent pointers such that you and TypeScripts compiler APIs can traverse the parent tree.\nYou can toggle this behavior with the `setParents` option:\n\n```typescript\ncloneNode(someNode, {\n\tsetParents: true\n});\n```\n\n### Setting original node pointers\n\nBy default, when you clone a node, it won't keep references to the original nodes recursively.\nYou can toggle this behavior with the `setOriginalNodes` option:\n\n```typescript\ncloneNode(someNode, {\n\tsetOriginalNodes: true\n});\n```\n\n### Preserving comments\n\nBy default, when you clone a node, comments will be preserved as much as possible and added to the cloned nodes as `emitNodes`.\nYou can toggle this behavior with the `preserveComments` option:\n\n```typescript\ncloneNode(someNode, {\n\tpreserveComments: false\n});\n```\n\n### Preserving symbols\n\nBy default, when you clone a node, it won't preserve symbols from the original nodes.\nYou can toggle this behavior with the `preserveSymbols` option:\n\n```typescript\ncloneNode(someNode, {\n\tpreserveSymbols: true\n});\n```\n\n<!-- SHADOW_SECTION_CONTRIBUTING_START -->\n\n## Contributing\n\nDo you want to contribute? Awesome! Please follow [these recommendations](./CONTRIBUTING.md).\n\n<!-- SHADOW_SECTION_CONTRIBUTING_END -->\n\n<!-- SHADOW_SECTION_MAINTAINERS_START -->\n\n## Maintainers\n\n| <a href=\"mailto:frederikwessberg@hotmail.com\"><img alt=\"Frederik Wessberg\" src=\"https://avatars2.githubusercontent.com/u/20454213?s=460&v=4\" height=\"70\"   /></a>                                                                |\n| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [Frederik Wessberg](mailto:frederikwessberg@hotmail.com)<br><strong>Twitter</strong>: [@FredWessberg](https://twitter.com/FredWessberg)<br><strong>Github</strong>: [@wessberg](https://github.com/wessberg)<br>_Lead Developer_ |\n\n<!-- SHADOW_SECTION_MAINTAINERS_END -->\n\n<!-- SHADOW_SECTION_FAQ_START -->\n\n## FAQ\n\n<!-- SHADOW_SECTION_FAQ_END -->\n\n### What is the point of this library\n\nIf you've run into the kind of trouble I'm explaining here, you'll understand. If not, I'm happy for you. You can move along!\n\n<!-- SHADOW_SECTION_LICENSE_START -->\n\n## License\n\nMIT © [Frederik Wessberg](mailto:frederikwessberg@hotmail.com) ([@FredWessberg](https://twitter.com/FredWessberg)) ([Website](https://github.com/wessberg))\n\n<!-- SHADOW_SECTION_LICENSE_END -->\n","_attachments":{},"homepage":"https://github.com/wessberg/ts-clone-node#readme","bugs":{"url":"https://github.com/wessberg/ts-clone-node/issues"},"license":"MIT"}