{"_id":"zimmerframe","_rev":"4177128","name":"zimmerframe","description":"A tool for walking ASTs","dist-tags":{"latest":"1.1.4"},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"time":{"modified":"2026-03-01T21:37:13.000Z","created":"2023-08-18T19:15:04.414Z","1.1.4":"2025-09-09T17:55:31.852Z","1.1.3":"2025-09-09T17:21:02.084Z","1.1.2":"2024-02-05T19:59:16.776Z","1.1.1":"2024-02-05T14:40:19.364Z","1.1.0":"2023-10-28T22:46:57.256Z","1.0.0":"2023-09-01T19:44:42.233Z","0.2.1":"2023-08-23T15:40:48.044Z","0.2.0":"2023-08-23T15:07:18.156Z","0.1.2":"2023-08-22T20:31:42.556Z","0.1.1":"2023-08-22T19:25:02.170Z","0.1.0":"2023-08-22T14:39:51.722Z","0.0.11":"2023-08-21T02:22:30.049Z","0.0.10":"2023-08-20T23:52:12.853Z","0.0.9":"2023-08-20T19:34:02.382Z","0.0.8":"2023-08-19T18:26:16.388Z","0.0.7":"2023-08-19T17:58:23.974Z","0.0.6":"2023-08-19T17:06:16.877Z","0.0.5":"2023-08-19T15:21:09.556Z","0.0.4":"2023-08-18T20:58:03.777Z","0.0.3":"2023-08-18T20:36:39.265Z","0.0.2":"2023-08-18T19:59:24.722Z","0.0.1":"2023-08-18T19:15:04.414Z"},"users":{},"repository":{"type":"git","url":"git+https://github.com/sveltejs/zimmerframe.git"},"versions":{"1.1.4":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"1.1.4","repository":{"type":"git","url":"git+https://github.com/sveltejs/zimmerframe.git"},"type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"@changesets/cli":"^2.29.7","dts-buddy":"^0.6.2","typescript":"^5.9.2","vitest":"^3.2.4"},"license":"MIT","scripts":{"changeset:version":"changeset version","changeset:publish":"changeset publish","check":"tsc","test":"vitest --run","test:watch":"vitest"},"_id":"zimmerframe@1.1.4","bugs":{"url":"https://github.com/sveltejs/zimmerframe/issues"},"homepage":"https://github.com/sveltejs/zimmerframe#readme","_integrity":"sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==","_resolved":"/tmp/b58ce18f612231e6dd5de6f5ea0810bf/zimmerframe-1.1.4.tgz","_from":"file:zimmerframe-1.1.4.tgz","_nodeVersion":"24.7.0","_npmVersion":"11.5.1","dist":{"shasum":"0352b5cafad3ad4526b0a526a9a52d9c040d865b","size":5021,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-1.1.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-1.1.4.tgz"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfeb612-ac4c-47e2-8150-445bdfa5b7e2"}},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zimmerframe_1.1.4_1757440531660_0.43610763240579176"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-09T17:55:31.852Z","publish_time":1757440531852,"_source_registry_name":"default","_cnpm_publish_time":1757440531852},"1.1.3":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"1.1.3","repository":{"type":"git","url":"git+https://github.com/sveltejs/zimmerframe.git"},"type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"@changesets/cli":"^2.29.7","dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"license":"MIT","packageManager":"pnpm@8.6.12","scripts":{"changeset:version":"changeset version","changeset:publish":"changeset publish","check":"tsc","test":"vitest --run","test:watch":"vitest"},"_id":"zimmerframe@1.1.3","bugs":{"url":"https://github.com/sveltejs/zimmerframe/issues"},"homepage":"https://github.com/sveltejs/zimmerframe#readme","_integrity":"sha512-dcntCix40YyLCTrW5TRrAtuS/wc3EA3plksOcQIe4EGI10HE/KQQdmq6N5OJrWrciOdx5AzppR7XEMG3TYe70g==","_resolved":"/tmp/b8c5463300f96c7a60fc100b4f71cb00/zimmerframe-1.1.3.tgz","_from":"file:zimmerframe-1.1.3.tgz","_nodeVersion":"24.7.0","_npmVersion":"11.5.1","dist":{"shasum":"19e545b95cce453d4b3f79631832ee3ed3e35d45","size":4924,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-1.1.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-1.1.3.tgz"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0bfeb612-ac4c-47e2-8150-445bdfa5b7e2"}},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zimmerframe_1.1.3_1757438461908_0.2521202371741098"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-09-09T17:21:02.084Z","publish_time":1757438462084,"_source_registry_name":"default","_cnpm_publish_time":1757438462084},"1.1.2":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"1.1.2","repository":{"type":"git","url":"git+https://github.com/Rich-Harris/zimmerframe.git"},"type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","_id":"zimmerframe@1.1.2","gitHead":"dd314317835f3a09471a0779e5399eccfa201bf2","bugs":{"url":"https://github.com/Rich-Harris/zimmerframe/issues"},"homepage":"https://github.com/Rich-Harris/zimmerframe#readme","_nodeVersion":"18.19.0","_npmVersion":"10.2.3","dist":{"shasum":"5b75f1fa83b07ae2a428d51e50f58e2ae6855e5e","size":4849,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-1.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-1.1.2.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_1.1.2_1707163156526_0.5744239835664502"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-02-05T19:59:16.776Z","publish_time":1707163156776,"_source_registry_name":"default","_cnpm_publish_time":1707163156776},"1.1.1":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"1.1.1","repository":{"type":"git","url":"git+https://github.com/Rich-Harris/zimmerframe.git"},"type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","_id":"zimmerframe@1.1.1","gitHead":"b0db7dbaa3923b5abb0f31feebeeb7f7412ce862","bugs":{"url":"https://github.com/Rich-Harris/zimmerframe/issues"},"homepage":"https://github.com/Rich-Harris/zimmerframe#readme","_nodeVersion":"18.19.0","_npmVersion":"10.2.3","dist":{"shasum":"8c0f6ceb313da0decd8af388ddaeeb87f0497f27","size":4893,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-1.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-1.1.1.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_1.1.1_1707144019222_0.22611805900780046"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2024-02-05T14:40:19.364Z","publish_time":1707144019364,"_source_registry_name":"default","_cnpm_publish_time":1707144019364},"1.1.0":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"1.1.0","repository":{"type":"git","url":"git+https://github.com/Rich-Harris/zimmerframe.git"},"type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"755d80735dae07fd8db249bd11076ac97e9bfa25","bugs":{"url":"https://github.com/Rich-Harris/zimmerframe/issues"},"homepage":"https://github.com/Rich-Harris/zimmerframe#readme","_id":"zimmerframe@1.1.0","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"shasum":"29f2b760d11228490109808e2b56ba67f25af199","size":4675,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-1.1.0.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_1.1.0_1698533217003_0.6158462764554156"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-10-28T22:46:57.256Z","publish_time":1698533217256,"_source_registry_name":"default","_cnpm_publish_time":1698533217256},"1.0.0":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"1.0.0","repository":{"type":"git","url":"git+https://github.com/Rich-Harris/zimmerframe.git"},"type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"5c7c1f266c374972e45929502e149b42e2743b86","bugs":{"url":"https://github.com/Rich-Harris/zimmerframe/issues"},"homepage":"https://github.com/Rich-Harris/zimmerframe#readme","_id":"zimmerframe@1.0.0","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"ecd93297951f7fd787862aca2f5682f09f444928","size":4619,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-1.0.0.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_1.0.0_1693597481976_0.11685265541613954"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-09-01T19:44:42.233Z","publish_time":1693597482233,"_source_registry_name":"default","_cnpm_publish_time":1693597482233},"0.2.1":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.2.1","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"5dae6d7ec63cca1834edb90b3696bab253bf6e6f","_id":"zimmerframe@0.2.1","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"dbc3eb0d42cca4fc3f2b9a28a6018382160f3957","size":4591,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.2.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.2.1.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.2.1_1692805247837_0.4282930329492458"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-23T15:40:48.044Z","publish_time":1692805248044,"_source_registry_name":"default","_cnpm_publish_time":1692805248044},"0.2.0":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.2.0","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"dee6193c9ca92bd9490f5d585a380abac3e0fafe","_id":"zimmerframe@0.2.0","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"6c5f48c9e42ae4cf79c6c348a04c446170456d83","size":4580,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.2.0.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.2.0_1692803237968_0.21341416008124847"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-23T15:07:18.156Z","publish_time":1692803238156,"_source_registry_name":"default","_cnpm_publish_time":1692803238156},"0.1.2":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.1.2","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"e57a4b193537013dc7c24801d331bdc419057408","_id":"zimmerframe@0.1.2","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"2cfb1e79b85bb4b7a442095a3951921ff719936d","size":4787,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.1.2.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.1.2_1692736302277_0.28582134516094837"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-22T20:31:42.556Z","publish_time":1692736302556,"_source_registry_name":"default","_cnpm_publish_time":1692736302556},"0.1.1":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.1.1","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"4207b4c0076a05e5dc851c7b610fee313701396a","_id":"zimmerframe@0.1.1","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"d7fe61f93b94415c3890d905c7fafc6fcb003206","size":4772,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.1.1.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.1.1_1692732301990_0.5049748908759673"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-22T19:25:02.170Z","publish_time":1692732302170,"_source_registry_name":"default","_cnpm_publish_time":1692732302170},"0.1.0":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.1.0","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"9c46f44aafd7c8bd14281b4e04146b1ef5aaf53f","_id":"zimmerframe@0.1.0","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"27784334d565c4ab9082be07fb8e6e851dc21b8c","size":4767,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.1.0.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.1.0_1692715191446_0.9101680443584343"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-22T14:39:51.722Z","publish_time":1692715191722,"_source_registry_name":"default","_cnpm_publish_time":1692715191722},"0.0.11":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.0.11","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"976b67f93f0b8a698df63a316ef2d2d77016604f","_id":"zimmerframe@0.0.11","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"9d7e9564928059388d04b582e98d680c20944a52","size":4768,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.0.11.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.0.11.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.0.11_1692584549776_0.7800824564112516"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-21T02:22:30.049Z","publish_time":1692584550049,"_source_registry_name":"default","_cnpm_publish_time":1692584550049},"0.0.10":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.0.10","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"e626f2098145bc64430bcdb627538e4faa9e10b5","_id":"zimmerframe@0.0.10","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"28eb2789dd73f9a975a5a918a709fddd814d0180","size":4688,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.0.10.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.0.10.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.0.10_1692575532652_0.5539190561595486"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-20T23:52:12.853Z","publish_time":1692575532853,"_source_registry_name":"default","_cnpm_publish_time":1692575532853},"0.0.9":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.0.9","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"f601e905b1f2a280afbbe13fe01966abff4337a8","_id":"zimmerframe@0.0.9","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"79303255539788d4f163fbff9ac33a0ad5d8a4cd","size":4687,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.0.9.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.0.9.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.0.9_1692560042203_0.004616295085408062"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-20T19:34:02.382Z","publish_time":1692560042382,"_source_registry_name":"default","_cnpm_publish_time":1692560042382},"0.0.8":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.0.8","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"a6935819b76e5a6b41aa076e459ded70efb21c49","_id":"zimmerframe@0.0.8","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"b663a13df1faaaaaa38cae48a1ee2ff45816e5ef","size":4689,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.0.8.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.0.8.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.0.8_1692469576244_0.8981890483091786"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-19T18:26:16.388Z","publish_time":1692469576388,"_source_registry_name":"default","_cnpm_publish_time":1692469576388},"0.0.7":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.0.7","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/walk.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"e5c2772e0f2b76718cd60f1174823bfbd1d29cf7","_id":"zimmerframe@0.0.7","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"c948f20e2e47256babd8964fabaae0a91eb49023","size":4688,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.0.7.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.0.7.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.0.7_1692467903748_0.1642375024377587"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-19T17:58:23.974Z","publish_time":1692467903974,"_source_registry_name":"default","_cnpm_publish_time":1692467903974},"0.0.6":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.0.6","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.13","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy -m zimmerframe:src/index.d.ts","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"7c7d44d5d184e78e7fb0439fea47167a4aa98013","_id":"zimmerframe@0.0.6","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"b07b35f31d73d145e16c920aebf80ee63a43341e","size":4692,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.0.6.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.0.6.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.0.6_1692464776719_0.04669433455938088"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-19T17:06:16.877Z","publish_time":1692464776877,"_source_registry_name":"default","_cnpm_publish_time":1692464776877},"0.0.5":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.0.5","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.12","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"0f64d491f715b43af08c477e049029c63d57ca59","_id":"zimmerframe@0.0.5","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"5889f1dbb1951ffc05d5adc5bd39b261e27f9e84","size":4582,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.0.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.0.5.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.0.5_1692458469368_0.7134505369061654"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-19T15:21:09.556Z","publish_time":1692458469556,"_source_registry_name":"default","_cnpm_publish_time":1692458469556},"0.0.4":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.0.4","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.12","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"ca89a65ea17e89d40b6cee08650a4736ec13b203","_id":"zimmerframe@0.0.4","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"5a9dfd3019e1d0d0bc574a1472b1980268134f6d","size":4663,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.0.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.0.4.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.0.4_1692392283615_0.7561693733173527"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-18T20:58:03.777Z","publish_time":1692392283777,"_source_registry_name":"default","_cnpm_publish_time":1692392283777},"0.0.3":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.0.3","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.12","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"43bb584c50b1a2c93f9074c389b429adf64c4016","_id":"zimmerframe@0.0.3","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"0e06221c99946fb060ecaca06317ef20e9cfba4b","size":4655,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.0.3.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.0.3_1692390999073_0.976367329844595"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-18T20:36:39.265Z","publish_time":1692390999265,"_source_registry_name":"default","_cnpm_publish_time":1692390999265},"0.0.2":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.0.2","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.12","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"f9e20135ef3af866ecbe21bce538eace2891564d","_id":"zimmerframe@0.0.2","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"be609cd5dd1371cd09f209b0e61b16fdc503fb55","size":4648,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.0.2.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.0.2_1692388764467_0.5462931833083526"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-18T19:59:24.722Z","publish_time":1692388764722,"_source_registry_name":"default","_cnpm_publish_time":1692388764722},"0.0.1":{"name":"zimmerframe","description":"A tool for walking ASTs","version":"0.0.1","type":"module","exports":{".":{"types":"./types/index.d.ts","import":"./src/index.js"}},"types":"./types/index.d.ts","devDependencies":{"dts-buddy":"^0.1.12","typescript":"^5.1.6","vitest":"^0.34.2"},"scripts":{"prepublishOnly":"dts-buddy","check":"tsc","test":"vitest --run","test:watch":"vitest"},"license":"MIT","packageManager":"pnpm@8.6.12","gitHead":"15b34eb4da0cb1411960dcf9f57047f7e17293a6","_id":"zimmerframe@0.0.1","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"shasum":"93ad384caf6ac8cf90b2d70bf6bbad85f99dd91b","size":5814,"noattachment":false,"key":"/zimmerframe/-/zimmerframe-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/zimmerframe/download/zimmerframe-0.0.1.tgz"},"_npmUser":{"name":"rich_harris","email":"richard.a.harris@gmail.com"},"directories":{},"maintainers":[{"name":"rich_harris","email":""},{"name":"svelte-admin","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zimmerframe_0.0.1_1692386104177_0.2549624025769235"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-08-18T19:15:04.414Z","publish_time":1692386104414,"_source_registry_name":"default","_cnpm_publish_time":1692386104414}},"readme":"# zimmerframe\n\nA tool for walking.\n\nSpecifically, it's a tool for walking an abstract syntax tree (AST), where every node is an object with a `type: string`. This includes [ESTree](https://github.com/estree/estree) nodes, such as you might generate with [Acorn](https://github.com/acornjs/acorn) or [Meriyah](https://github.com/meriyah/meriyah), but also includes things like [CSSTree](https://github.com/csstree/csstree) or an arbitrary AST of your own devising.\n\n## Usage\n\n```ts\nimport { walk } from 'zimmerframe';\nimport { parse } from 'acorn';\nimport { Node } from 'estree';\n\nconst program = parse(`\nlet message = 'hello';\nconsole.log(message);\n\nif (true) {\n  let answer = 42;\n  console.log(answer);\n}\n`);\n\n// You can pass in arbitrary state\nconst state = {\n  declarations: [],\n  depth: 0\n};\n\nconst transformed = walk(program as Node, state, {\n  _(node, { state, next }) {\n    // the `_` visitor is 'universal' — if provided,\n    // it will run for every node, before deferring\n    // to specialised visitors. you can pass a new\n    // `state` object to `next`\n    next({ ...state, answer: 42 });\n  },\n  VariableDeclarator(node, { state }) {\n    // `state` is passed into each visitor\n    if (node.id.type === 'Identifier') {\n      state.declarations.push({\n        depth: state.depth,\n        name: node.id.name\n      });\n    }\n  },\n  BlockStatement(node, { state, next, stop }) {\n    // you must call `next()` or `next(childState)`\n    // to visit child nodes\n    console.log('entering BlockStatement');\n    next({ ...state, depth: state.depth + 1 });\n    console.log('leaving BlockStatement');\n  },\n  Literal(node) {\n    // if you return something, it will replace\n    // the current node\n    if (node.value === 'hello') {\n      return {\n        ...node,\n        value: 'goodbye'\n      };\n    }\n  },\n  IfStatement(node, { visit }) {\n    // normally, returning a value will halt\n    // traversal into child nodes. you can\n    // transform children with the current\n    // visitors using `visit(node, state?)`\n    if (node.test.type === 'Literal' && node.test.value === true) {\n      return visit(node.consequent);\n    }\n  }\n});\n```\n\nThe `transformed` AST would look like this:\n\n```js\nlet message = 'goodbye';\nconsole.log(message);\n\n{\n  let answer = 42;\n  console.log(answer);\n}\n```\n\n## Types\n\nThe type of `node` in each visitor is inferred from the visitor's name. For example:\n\n```ts\nwalk(ast as estree.Node, state, {\n  ArrowFunctionExpression(node) {\n    // `node` is of type estree.ArrowFunctionExpression\n  }\n});\n```\n\nFor this to work, the first argument should be casted to an union of all the types you plan to visit.\n\nYou can import types from 'zimmerframe':\n\n```ts\nimport {\n  walk,\n  type Visitor,\n  type Visitors,\n  type Context\n} from 'zimmerframe';\nimport type { Node } from 'estree';\n\ninterface State {...}\n\nconst node: Node = {...};\nconst state: State = {...};\nconst visitors: Visitors<Node, State> =  {...}\n\nwalk(node, state, visitors);\n```\n\n## Context\n\nEach visitor receives a second argument, `context`, which is an object with the following properties and methods:\n\n- `next(state?: State): void` — a function that allows you to control when child nodes are visited, and which state they are visited with. If child visitors transform their inputs, this will return the transformed node (if not, returns `undefined`)\n- `path: Node[]` — an array of parent nodes. For example, to get the root node you would do `path.at(0)`; to get the current node's immediate parent you would do `path.at(-1)`\n- `state: State` — an object of the same type as the second argument to `walk`. Visitors can pass new state objects to their children with `next(childState)` or `visit(node, childState)`\n- `stop(): void` — prevents any subsequent traversal\n- `visit(node: Node, state?: State): Node` — returns the result of visiting `node` with the current set of visitors. If no `state` is provided, children will inherit the current state\n\n## Immutability\n\nASTs are regarded as immutable. If you return a transformed node from a visitor, then all parents of the node will be replaced with clones, but unchanged subtrees will reuse the existing nodes.\n\nFor example in this case, no transformation takes place, meaning that the returned value is identical to the original AST:\n\n```js\nconst transformed = walk(original, state, {\n  Literal(node) {\n    console.log(node.value);\n  }\n});\n\ntransformed === original; // true\n```\n\nIn this case, however, we replace one of the nodes:\n\n```js\nconst original = {\n  type: 'BinaryExpression',\n  operator: '+',\n  left: {\n    type: 'Identifier',\n    name: 'foo'\n  },\n  right: {\n    type: 'Identifier',\n    name: 'bar'\n  }\n};\n\nconst transformed = walk(original, state, {\n  Identifier(node) {\n    if (node.name === 'bar') {\n      return { ...node, name: 'baz' };\n    }\n  }\n});\n\ntransformed === original; // false, the BinaryExpression node is cloned\ntransformed.left === original.left; // true, we can safely reuse this node\n```\n\nThis makes it very easy to transform parts of your AST without incurring the performance and memory overhead of cloning the entire thing, and without the footgun of mutating it in place.\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/sveltejs/zimmerframe#readme","bugs":{"url":"https://github.com/sveltejs/zimmerframe/issues"},"license":"MIT"}