{"_id":"babel-walk","_rev":"8-855097938520c9d04055de8fb4ad4e9f","name":"babel-walk","dist-tags":{"latest":"3.0.1","canary":"3.0.1-canary-8"},"versions":{"2.0.0-canary-1":{"name":"babel-walk","version":"2.0.0-canary-1","author":{"name":"Timothy Gu","email":"timothygu99@gmail.com"},"license":"MIT","_id":"babel-walk@2.0.0-canary-1","maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"}],"homepage":"https://github.com/pugjs/babel-walk#readme","bugs":{"url":"https://github.com/pugjs/babel-walk/issues"},"dist":{"shasum":"296627c48f4af2b861c79f5de859b7be65e24f27","tarball":"https://registry.npmjs.org/babel-walk/-/babel-walk-2.0.0-canary-1.tgz","fileCount":11,"integrity":"sha512-+94IdJ9joLtxFjkFwHDgJTmm5KlxNLSJL4SOJutnuuoplmfUac+Fg1kOLAJ270I5WUKz8b/bb2Q08wMsq9LnSg==","signatures":[{"sig":"MEUCIQDbg+wFm6282hdXNtuPnqSd6AuYWPLIUBphUAW8PjAO4AIgLYub6AabxzJwgOcz0onSHAwJh+78TQw+/ZrYdSCxNgk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezBrtCRA9TVsSAnZWagAAZ00P/16TGpygD8ME6PweXa+U\nG7jcyvhzMbfqsqu7aXYbaawkiI5liZiD9jRMrpGAuZk/55Qzicz8NYXmNPaO\niedfPdmRBKxUjg3i1VbiEthjKC/ez0BOCCo5zgrT/cSFUnNpxQwVQmjsSVzW\n2OkXndPgJyGIKZ5vVdIyiP1KhESGhC/zlBliAuWlDQ0ZncNx6R9e7rCbKICi\nb46o8+AF9Fhjbt2Lzqf7EU2Z+9qLTQfTq+a0VYbxIn9HuPxA0W+SAglo+xTl\na0OCURlPDyJ0LHPyv5S2XWdYX2XjMwQ6tPYyuVaR8mc38HdoPtlj3WXbAoDR\ncevkwdYX2PqXHK1VSqf6Xxqib9Ot+2TUDTnZhq6PcE8xKSw1Z8KzGVuhTJfG\ntOMQEdbXw9XStkNMas2szcBxLwPPdY/9DziATFB0EqXPU1PGxU5N4iY+m5iN\n3XSY46TpBbGbjaFOPchuM/sz+oGXoLPc1yk8r8F09FiTkoUHfNKmrCNFlRFK\nUpXS7ULQaELDT8UCyI0y8paO+CGW7QvufAiT7JQb+Ik3g/BuinTWXFzVgpWw\n92JfPxL54imrmQazYnKCRE+K2H5x++uAUO1piYHRdBj6igM12a55F9UA34W0\nzjCE7xFOVriKGdHrCit7CgI6x6emIaVTxNXIYUkE7YvFdpXFzoEpdAaLLTMT\ncnrg\r\n=qSkE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">= 10.0.0"},"gitHead":"5988daaba441fb653e2d065363ff6ee03064834d","scripts":{"lint":"tslint './src/**/*.{ts,tsx}' -t verbose -p .","build":"tsc && node lib","postbuild":"rimraf lib/**/__tests__","prettier:check":"prettier --ignore-path .gitignore --list-different './**/*.{md,json,yaml,js,jsx,ts,tsx}'","prettier:write":"prettier --ignore-path .gitignore --write './**/*.{md,json,yaml,js,jsx,ts,tsx}'"},"_npmUser":{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},"repository":{"url":"git+https://github.com/pugjs/babel-walk.git","type":"git"},"_npmVersion":"6.14.4","description":"Lightweight Babel AST traversal","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@babel/types":"^7.9.6"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^3.0.2","tslint":"^6.1.2","prettier":"^2.0.5","typescript":"^3.9.3","@forbeslindesay/tsconfig":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/babel-walk_2.0.0-canary-1_1590434540779_0.16785487685814338","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"babel-walk","version":"2.0.0","author":{"name":"Timothy Gu","email":"timothygu99@gmail.com"},"license":"MIT","_id":"babel-walk@2.0.0","maintainers":[{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"},{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"}],"homepage":"https://github.com/pugjs/babel-walk#readme","bugs":{"url":"https://github.com/pugjs/babel-walk/issues"},"dist":{"shasum":"9c770920ca3e3fa24442468db6afc23438f9ae01","tarball":"https://registry.npmjs.org/babel-walk/-/babel-walk-2.0.0.tgz","fileCount":11,"integrity":"sha512-PjQNEcMI0QOUE4uyOFsX+5SigzvhF0neRX1mTdLpIj6yTzLpkutEyvySyJ8+ltqxCKyTuqvBxGIdLYTD07EpEQ==","signatures":[{"sig":"MEUCIEeeZn/G6B1BM93Hzyvgnt3TlpM5vzJ+9IXVa30Ex5UsAiEA+NWwF56ZEBeXTgHNX0Ytp00iOJnT4RDibmkYDE/Day8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezCYeCRA9TVsSAnZWagAAmaEP/3j/4XtGxD+pzu9rxRDT\nVy1FHa3invDTOpssKNUm2FXEpjXd83icMYJOwvyUDSToDExLllVp7Sazs8ne\nD/usQ1RuAB3blovmYInYB6pcEaA0k7z+USfiy1CDS85eN+KmoN+HIvoePyWE\nQXdA9vyP1aSrJxXpTSCsU0eNWw48n/ko79JcErNmhwhw65GrIjrzONKPAoIq\nr1M5crgEcyeIdfGTaGd2cGWFb8u1rJw5BsBE3PJslx48jgSG+mQaHMaJEqn9\nn9YzOpwBYsJu24+XNYp9PzqIxJZ9qZ34fhq54mJasedcEpeqolF7/pyGBMxK\nM4M0TEhr506tV7k+bM3nX9yPGfT4EcD9n8+S/wZliizQ6mijnRUYhv+lcHYo\nnV1GzvvFm5Fy6kKZO5A45lAwmf4mr1k1S7Zi/971yXAsE4apJiLB9JpI6umN\nE9opHkISgqYrbGRswJ3pC79e9ARPztqXIvxhpB4NsIwFqA8P6Tti19hEmv4X\nkhmP7lupsL2BeuqqA2fKp/iOc0Z2G5EzPlh0QY4xY/sLvSR0j24u/5zuPuXg\nRXOZoNiiGM/zoTrtpd6p3j6xkiNXKqdtX/Is2NJEu6bBJvi/uVPSkELjyR/r\nFnmu2bOdVMcEVN4zorAMgc3Ul1NDbEfx00mpQlcg+3bFhFSnsA0NSALp7/e+\nkkhi\r\n=kQrw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">= 10.0.0"},"gitHead":"8ac813176d565b71f46592cb092573063e199abf","scripts":{"lint":"tslint './src/**/*.{ts,tsx}' -t verbose -p .","build":"tsc && node lib","postbuild":"rimraf lib/**/__tests__","prettier:check":"prettier --ignore-path .gitignore --list-different './**/*.{md,json,yaml,js,jsx,ts,tsx}'","prettier:write":"prettier --ignore-path .gitignore --write './**/*.{md,json,yaml,js,jsx,ts,tsx}'"},"_npmUser":{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"},"repository":{"url":"git+https://github.com/pugjs/babel-walk.git","type":"git"},"_npmVersion":"6.14.4","description":"Lightweight Babel AST traversal","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@babel/types":"^7.9.6"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^3.0.2","tslint":"^6.1.2","prettier":"^2.0.5","typescript":"^3.9.3","@forbeslindesay/tsconfig":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/babel-walk_2.0.0_1590437405525_0.9665288604644648","host":"s3://npm-registry-packages"}},"2.1.0-canary-4":{"name":"babel-walk","version":"2.1.0-canary-4","author":{"name":"Timothy Gu","email":"timothygu99@gmail.com"},"license":"MIT","_id":"babel-walk@2.1.0-canary-4","maintainers":[{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"},{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"}],"homepage":"https://github.com/pugjs/babel-walk#readme","bugs":{"url":"https://github.com/pugjs/babel-walk/issues"},"dist":{"shasum":"867706b73be6e671b90967349fd1c2896d2aac6a","tarball":"https://registry.npmjs.org/babel-walk/-/babel-walk-2.1.0-canary-4.tgz","fileCount":10,"integrity":"sha512-m0XOc3ZbIC0WCYXHDUAn8btqOdnOKrqrqwNaIsurB1+Q+BQJI4tz6eXo8vNdRDslIHbzGYOkpFwETgrCGJA7kA==","signatures":[{"sig":"MEUCIAriDHB2RHSCzBIFbbBQEWNy+7Vo+aLIAhkPcsHS/BvHAiEA1Zxd+zaKAylIT8KSUEk+Y3uHYP9UhRxfCwQGU94tl84=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37584,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezCr+CRA9TVsSAnZWagAAYDwQAIwWJ6ZAGkLf1TQpXWEK\nvhuj0FKOPTxp/Htg69TvCEE08ogmoTb+uMIXS7FfzULbDkuEn9MqXUkGfaYb\nv3WmaYNdb1aOcCPHzQlVQ79xJSxGGT2zQtYasCYUm1WQk0cFAjaVGOVYBsC9\nu3oMyYU22DthlJVlgPUv9tU+jiv+7aEf16rZHxDaoosP+oSnI2i7o5Oyi3As\nzJcOodvUv9aPBA5csoCVOvmL/1XX1XSDkucX6YCqTJQjcay46Z5reg3cOLCq\nScGx7CAtIJx68VN1GExJLmobUyupKF1jT5jX+mW/B8aJC+qiru/Zvmi5gior\nCNyspqBciAm1UYpSLk4Fwn57rQZdwLeiHhh9X/LqZoI5V0AJReO9lFB8k5gk\ngRWxhPqvSHmbCx4adICaVLDqd7tCORXjsYqTqNsL70kDyR0N64wKj8sn3eAc\nEVHRHQLzPjcfOnaM3JIyLS1bai/5ySymC1Yj7F2Vw61pi1rdc9VzuQNvJFh5\nBzpHdy6MX0VAMBFsUoeZUF3YfSVaSmfD1BSsWMtrDGjtCiIyyN2dxV2LHHvN\nPc1tPVSiYKcMLCmUzZ4A3+zx+lmPe+tgMUtf4quyQ5bT93Q89KmEZemfH9L7\n1dYrvLjU6qTyhwd3gHR5F8hwSkHXncyEviZ1r9k25cS76KdpRfT7MfiNZ7Vq\n8lWt\r\n=qXOB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">= 10.0.0"},"gitHead":"7fba472b09c2c5540f4d22b6b1822c5b3b93a710","scripts":{"lint":"tslint './src/**/*.{ts,tsx}' -t verbose -p .","build":"tsc && node lib","postbuild":"rimraf lib/**/__tests__","prettier:check":"prettier --ignore-path .gitignore --list-different './**/*.{md,json,yaml,js,jsx,ts,tsx}'","prettier:write":"prettier --ignore-path .gitignore --write './**/*.{md,json,yaml,js,jsx,ts,tsx}'"},"_npmUser":{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"},"repository":{"url":"git+https://github.com/pugjs/babel-walk.git","type":"git"},"_npmVersion":"6.14.4","description":"Lightweight Babel AST traversal","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@babel/types":"^7.9.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^3.0.2","tslint":"^6.1.2","prettier":"^2.0.5","typescript":"^3.9.3","@forbeslindesay/tsconfig":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/babel-walk_2.1.0-canary-4_1590438653574_0.10377651444025582","host":"s3://npm-registry-packages"}},"3.0.0-canary-5":{"name":"babel-walk","version":"3.0.0-canary-5","author":{"name":"Timothy Gu","email":"timothygu99@gmail.com"},"license":"MIT","_id":"babel-walk@3.0.0-canary-5","maintainers":[{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"},{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"}],"homepage":"https://github.com/pugjs/babel-walk#readme","bugs":{"url":"https://github.com/pugjs/babel-walk/issues"},"dist":{"shasum":"f66ecd7298357aee44955f235a6ef54219104b11","tarball":"https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz","fileCount":13,"integrity":"sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==","signatures":[{"sig":"MEUCIQC/5NaP9PPboFVDCqtFXyw+hxDjGfxHdxJzO8hpfrV2mQIgSwz/qrflXoVnJH05agIHUorJde2msa8VXSAgxLOkLac=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110137,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezC/lCRA9TVsSAnZWagAAkLkP/20LHCrDPLMgB+hYf8tg\nPIMZCZvtL1aI2rbES2cw+NEYWdz84BV4SC2WepYk1kCXc3xSYyA1j+eSn/0p\nKfHy0nfjtKK6nbEWVl6ADGVPdwj0QSZNdLfybKpf6lKRHMJja4lFPf2sM2vh\n4YlwXdLm+xF6ffLzNXAj/aNAbwV9PrKI9iCgxc85sOCQVdXiE6t/Gtd0U8Mh\nca8uJts1JzzkPuQhN3ESA1e86MFCCfid06OkEDCbFOg/UkB8YLlNr0k/hAwp\nn7O8yS3oziClqjBavDygEETHnMoAaTE5aFdhNnt5TFzErFNGe97DlCF+Ju5c\n8Nt5TQvxM7OIMKvWOosG2yn2YUlS6OtBBwRzICu9hbrCEg3/U4NIY+mFVL2K\n0/koTNyg2qc35WJdbZElM3Qh0hkeGnA4NusYi2BHWBjfxgMcRPN6pGAtGbL6\n8/lgwXY7S1m9D6voD4AxE5ZjJZd1pY/EWkE3AJoXrJh0NMW2UG0Hli6Gueyo\nebsmylVYgDis4lQM3b60V+l0WcjfJSEWczm4P0J6/Dm8kguWsDJ7a3N+Pq16\njS6ApFWhD2gZtXgM44TPRRcaRGxzeBWoQjWi60Jdg0uyL8+xvk7kXzaEvDTJ\nqeS2mXBOHrpzn5+1BGxWM0BJYpmohcMFylxJYVem4aUcn3wtLvT1947U5I3V\nLfe3\r\n=BUWB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">= 10.0.0"},"gitHead":"aea4d8fae63e4a4e93f04dcd7ee5858384593e0a","scripts":{"lint":"tslint './src/**/*.{ts,tsx}' -t verbose -p .","build":"tsc && node lib","postbuild":"rimraf lib/**/__tests__","prettier:check":"prettier --ignore-path .gitignore --list-different './**/*.{md,json,yaml,js,jsx,ts,tsx}'","prettier:write":"prettier --ignore-path .gitignore --write './**/*.{md,json,yaml,js,jsx,ts,tsx}'"},"_npmUser":{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"},"repository":{"url":"git+https://github.com/pugjs/babel-walk.git","type":"git"},"_npmVersion":"6.14.4","description":"Lightweight Babel AST traversal","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@babel/types":"^7.9.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^3.0.2","tslint":"^6.1.2","prettier":"^2.0.5","typescript":"^3.9.3","@types/node":"^14.0.5","@forbeslindesay/tsconfig":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/babel-walk_3.0.0-canary-5_1590439909023_0.8600387427590168","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"babel-walk","version":"3.0.0","author":{"name":"Timothy Gu","email":"timothygu99@gmail.com"},"license":"MIT","_id":"babel-walk@3.0.0","maintainers":[{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"},{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"}],"homepage":"https://github.com/pugjs/babel-walk#readme","bugs":{"url":"https://github.com/pugjs/babel-walk/issues"},"dist":{"shasum":"71ea81ea1b8e2e7b37540ec8c899fe49d7fb1441","tarball":"https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0.tgz","fileCount":13,"integrity":"sha512-fdRxJkQ9MUSEi4jH2DcV3FAPFktk0wefilxrwNyUuWpoWawQGN7G7cB+fOYTtFfI6XNkFgwqJ/D3G18BoJJ/jg==","signatures":[{"sig":"MEUCIHSLoyLdl7FAm1AsZWjE/M3P8/gQ28OrZqE73NUK4l6yAiEAjJ9IxwwWBLsAw5k9Ce6X/5V0XtaPVhN6ayjxpIzD4tM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110128,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezEVyCRA9TVsSAnZWagAAQ+EP/2Lfuhj1cfoT0rZxylWz\nJgtgwgC9rumMXff711vmp+e7g7Ff0RCOgY7PmnBPTr/yNzOX7sk/ufuexf+Y\nG0ltpEy4E+cPa4ViAVGL+ZqzfXeKIbXaPhHTgRVnsma6grSIPxPVi7OAu61w\n9WJ3DMRj00oigQiSbWHyD4xoV/sg1hclRZNfCOz4Gmn0ka21Uz1qct5a74ZZ\nq7zVsB/9pTm7EneC+tdeNFWVY2K1umB+5gNKeUKPXGfNtzAhHJfF7hWb4rSY\n269jGD+/38BJxV9eUZgBry30WiGIhSh89GkedB3Dv3Cjyr32xhlHQifiAnsL\nJIrIN3zEcOGC1nXTEZ9xPgR2l5wOTYru8YBIWCjY2IUBdw+i/iKbk+dkP9B4\nIxx9L6eIJQMeYH6Mkrbiwp3KFUxZrQp4pyh8umr8KaWE6j9XTcJZIG3fSrES\nYg1KA4zBa7hzvLSdIR5chiTMcVYCoEjdfgSRVj6aSjL+rNicrtYFK59iwSZq\nF4uIuZlKP8QL5K0g4k1FDXN0Ekz3dk0yDIZf78QoooVd2oPh5hZ3PQe89at4\nTrBDne1iehhr7yUvg7RpzIHncg/uUh0TWQVpMGsqUm/IAdhyPLwaAce34I9C\nRoWfjoSVxqftJcluy5ZIZ7pWhRQXDX5jn54lkz8ZK2aUaUf6faKi277ebak6\nA8Io\r\n=FuyV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","engines":{"node":">= 10.0.0"},"gitHead":"aea4d8fae63e4a4e93f04dcd7ee5858384593e0a","scripts":{"lint":"tslint './src/**/*.{ts,tsx}' -t verbose -p .","build":"tsc && node lib","postbuild":"rimraf lib/**/__tests__","prettier:check":"prettier --ignore-path .gitignore --list-different './**/*.{md,json,yaml,js,jsx,ts,tsx}'","prettier:write":"prettier --ignore-path .gitignore --write './**/*.{md,json,yaml,js,jsx,ts,tsx}'"},"_npmUser":{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"},"repository":{"url":"git+https://github.com/pugjs/babel-walk.git","type":"git"},"_npmVersion":"6.14.4","description":"Lightweight Babel AST traversal","directories":{},"_nodeVersion":"12.16.3","dependencies":{"@babel/types":"^7.9.6"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^3.0.2","tslint":"^6.1.2","prettier":"^2.0.5","typescript":"^3.9.3","@types/node":"^14.0.5","@forbeslindesay/tsconfig":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/babel-walk_3.0.0_1590445426094_0.7183379329197233","host":"s3://npm-registry-packages"}},"3.0.1-canary-8":{"name":"babel-walk","version":"3.0.1-canary-8","author":{"name":"Timothy Gu","email":"timothygu99@gmail.com"},"license":"MIT","_id":"babel-walk@3.0.1-canary-8","maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"}],"homepage":"https://github.com/pugjs/babel-walk#readme","bugs":{"url":"https://github.com/pugjs/babel-walk/issues"},"dist":{"shasum":"fd5d15084e53e5138d468b0f7c06c594ef6ad7f4","tarball":"https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.1-canary-8.tgz","fileCount":12,"integrity":"sha512-2rbk8LubQt1uOT4P3GsPBIjOq/54zVmru7icpJ2MiufVpHw2PovZTVG6tZv9IckfZxOmQDx9/4Fjc74VCu2FBA==","signatures":[{"sig":"MEQCID0B72XxXt6mwbdYlvTJezcxB42HzbQGWNaQUWYzojLjAiAeGQMrDsRBO/zfg5LvVXvuEdDJBVR+y4dhQDy+OWflhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28604},"main":"lib/index.js","engines":{"node":">= 10.0.0"},"gitHead":"dec659376db7650e01ca7adf7fee8403f3585967","scripts":{"lint":"tslint './src/**/*.{ts,tsx}' -t verbose -p .","build":"tsc && node lib","postbuild":"rimraf lib/**/__tests__ && rimraf lib/.tsbuildinfo","prettier:check":"prettier --ignore-path .gitignore --list-different './**/*.{md,json,yaml,js,jsx,ts,tsx}'","prettier:write":"prettier --ignore-path .gitignore --write './**/*.{md,json,yaml,js,jsx,ts,tsx}'"},"_npmUser":{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"},"repository":{"url":"git+https://github.com/pugjs/babel-walk.git","type":"git"},"_npmVersion":"6.14.16","description":"Lightweight Babel AST traversal","directories":{},"_nodeVersion":"12.22.12","dependencies":{"@babel/types":"^7.9.6"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rimraf":"^3.0.2","tslint":"^6.1.2","prettier":"^2.0.5","typescript":"^3.9.3","@types/node":"^14.0.5","@forbeslindesay/tsconfig":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/babel-walk_3.0.1-canary-8_1723798817610_0.6430648063746458","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"babel-walk","version":"3.0.1","description":"Lightweight Babel AST traversal","main":"lib/index.js","scripts":{"build":"tsc && node lib","postbuild":"rimraf lib/**/__tests__ && rimraf lib/.tsbuildinfo","lint":"tslint './src/**/*.{ts,tsx}' -t verbose -p .","prettier:write":"prettier --ignore-path .gitignore --write './**/*.{md,json,yaml,js,jsx,ts,tsx}'","prettier:check":"prettier --ignore-path .gitignore --list-different './**/*.{md,json,yaml,js,jsx,ts,tsx}'"},"repository":{"type":"git","url":"git+https://github.com/pugjs/babel-walk.git"},"engines":{"node":">= 10.0.0"},"author":{"name":"Timothy Gu","email":"timothygu99@gmail.com"},"license":"MIT","dependencies":{"@babel/types":"^7.9.6"},"devDependencies":{"@forbeslindesay/tsconfig":"^2.0.0","@types/node":"^14.0.5","prettier":"^2.0.5","rimraf":"^3.0.2","tslint":"^6.1.2","typescript":"^3.9.3"},"gitHead":"dec659376db7650e01ca7adf7fee8403f3585967","bugs":{"url":"https://github.com/pugjs/babel-walk/issues"},"homepage":"https://github.com/pugjs/babel-walk#readme","_id":"babel-walk@3.0.1","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-/gFN3HKFkfB0BxHQdanm+6/+vt+u+r833vKO7QOQq0wnakFkXRMNZ7twY6sVhpEFsiSV2MVvKdzVHoPYkrrfUg==","shasum":"f79cfb0a38fd9c990b5b63ccd4e695d513db5fd2","tarball":"https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.1.tgz","fileCount":12,"unpackedSize":28595,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCR7C02KO/SvLsE6qq2n3eUZyA8ZWPlDnRadwP7ncrHCwIhALec/nBrbBUl69o9EKFl9JcqBEJgjo+NTehZlDPOl/l7"}]},"_npmUser":{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"},"directories":{},"maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/babel-walk_3.0.1_1723798974184_0.9625840362240727"},"_hasShrinkwrap":false}},"time":{"created":"2020-05-25T19:22:20.778Z","modified":"2024-08-16T09:02:54.506Z","2.0.0-canary-1":"2020-05-25T19:22:20.936Z","2.0.0":"2020-05-25T20:10:05.673Z","2.1.0-canary-4":"2020-05-25T20:30:53.749Z","3.0.0-canary-5":"2020-05-25T20:51:49.220Z","3.0.0":"2020-05-25T22:23:46.236Z","3.0.1-canary-8":"2024-08-16T09:00:17.801Z","3.0.1":"2024-08-16T09:02:54.326Z"},"bugs":{"url":"https://github.com/pugjs/babel-walk/issues"},"author":{"name":"Timothy Gu","email":"timothygu99@gmail.com"},"license":"MIT","homepage":"https://github.com/pugjs/babel-walk#readme","repository":{"type":"git","url":"git+https://github.com/pugjs/babel-walk.git"},"description":"Lightweight Babel AST traversal","maintainers":[{"name":"forbeslindesay","email":"forbes@lindesay.co.uk"},{"name":"babel-walk-bot","email":"babel-walk-bot@rollingversions.com"}],"readme":"# babel-walk\n\nLightweight AST traversal tools for [Babel] ASTs.\n\n[Babel] supplies the wonderful [babel-traverse] module for walking Babel ASTs. Problem is, babel-traverse is very heavyweight, as it is designed to supply utilities to make all sorts of AST transformations possible. For simple AST walking without transformation, babel-traverse brings a lot of overhead.\n\nThis module loosely implements the API of Acorn parser's [walk module], which is a lightweight AST walker for the ESTree AST format.\n\nIn my tests, babel-walk's ancestor walker (the most complex walker provided by this module) is about 8 times faster than babel-traverse, if the visitors are cached and the same AST is used for all runs. It is about 16 times faster if a fresh AST is used every run.\n\n[![Build Status](https://img.shields.io/github/actions/workflow/status/pugjs/babel-walk/rollingversions-canary.yml?branch=master&style=for-the-badge)](https://github.com/pugjs/babel-walk/actions?query=workflow%3A%22Publish+Canary%22)\n[![Rolling Versions](https://img.shields.io/badge/Rolling%20Versions-Enabled-brightgreen?style=for-the-badge)](https://rollingversions.com/pugjs/babel-walk)\n[![NPM version](https://img.shields.io/npm/v/babel-walk?style=for-the-badge)](https://www.npmjs.com/package/babel-walk)\n\n[babel]: https://babeljs.io/\n[babel-traverse]: https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#toc-babel-traverse\n[walk module]: https://github.com/ternjs/acorn#distwalkjs\n\n## Installation\n\n```sh\n$ npm install babel-walk\n```\n\n## API\n\n```js\nvar walk = require('babel-walk');\n```\n\n### walk.simple(visitors)(node, state)\n\nDo a simple walk over the AST. `node` should be the AST node to walk, and `visitors` an object containing Babel [visitors]. Each visitor function will be called as `(node, state)`, where `node` is the AST node, and `state` is the same `state` passed to `walk.simple`.\n\nWhen `walk.simple` is called with a fresh set of visitors, it will first \"explode\" the visitors (e.g. expanding `Visitor(node, state) {}` to `Visitor() { enter(node, state) {} }`). This exploding process can take some time, so it is recommended to cache the result of calling `walk.simple(visitors)` and communicate state leveraging the `state` parameter.\n\nAll [babel-types] aliases (e.g. `Expression`) work, but the union syntax (e.g. `'Identifier|AssignmentPattern'(node, state) {}`) does not.\n\n### walk.ancestor(visitors)(node, state)\n\nDo a simple walk over the AST, but memoizing the ancestors of the node and making them available to the visitors. `node` should be the AST node to walk, and `visitors` an object containing Babel [visitors]. Each visitor function will be called as `(node, state, ancestors)`, where `node` is the AST node, `state` is the same `state` passed to `walk.ancestor`, and `ancestors` is an array of ancestors to the node (with the outermost node being `[0]` and the current node being `[ancestors.length - 1]`). If `state` is not specified in the call to `walk.ancestor`, the `state` parameter will be set to `ancestors`.\n\nWhen `walk.ancestor` is called with a fresh set of visitors, it will first \"explode\" the visitors (e.g. expanding `Visitor(node, state) {}` to `Visitor() { enter(node, state) {} }`). This exploding process can take some time, so it is recommended to cache the result of calling `walk.ancestor(visitors)` and communicate state leveraging the `state` parameter.\n\nAll [babel-types] aliases (e.g. `Expression`) work, but the union syntax (e.g. `'Identifier|AssignmentPattern'(node, state) {}`) does not.\n\n### walk.recursive(visitors)(node, state)\n\nDo a recursive walk over the AST, where the visitors are responsible for continuing the walk on the child nodes of their target node. `node` should be the AST node to walk, and `visitors` an object containing Babel [visitors]. Each visitor function will be called as `(node, state, c)`, where `node` is the AST node, `state` is the same `state` passed to `walk.recursive`, and `c` is a function that takes a single node as argument and continues walking _that_ node. If no visitor for a node is provided, the default walker algorithm will still be used.\n\nWhen `walk.recursive` is called with a fresh set of visitors, it will first \"explode\" the visitors (e.g. expanding `Visitor(node, state) {}` to `Visitor() { enter(node, state) {} }`). This exploding process can take some time, so it is recommended to cache the result of calling `walk.recursive(visitors)` and communicate state leveraging the `state` parameter.\n\nUnlike other babel-walk walkers, `walk.recursive` does not call the `exit` visitor, only the `enter` (the default) visitor, of a specific node type.\n\nAll [babel-types] aliases (e.g. `Expression`) work, but the union syntax (e.g. `'Identifier|AssignmentPattern'(node, state) {}`) does not.\n\nIn the following example, we are trying to count the number of functions in the outermost scope. This means, that we can simply walk all the statements and increment a counter if it is a function declaration or expression, and then stop walking. Note that we do not specify a visitor for the `Program` node, and the default algorithm for walking `Program` nodes is used (which is what we want). Also of note is how I bring the `visitors` object outside of `countFunctions` so that the object can be cached to improve performance.\n\n```js\nimport * as t from 'babel-types';\nimport {parse} from 'babel';\nimport * as walk from 'babel-walk';\n\nconst visitors = walk.recursive({\n Statement(node, state, c) {\n if (t.isVariableDeclaration(node)) {\n for (let declarator of node.declarations) {\n // Continue walking the declarator\n c(declarator);\n }\n } else if (t.isFunctionDeclaration(node)) {\n state.counter++;\n }\n },\n\n VariableDeclarator(node, state) {\n if (t.isFunction(node.init)) {\n state.counter++;\n }\n },\n});\n\nfunction countFunctions(node) {\n const state = {\n counter: 0,\n };\n visitors(node, state);\n return state.counter;\n}\n\nconst ast = parse(`\n // Counts\n var a = () => {};\n\n // Counts\n function b() {\n // Doesn't count\n function c() {\n }\n }\n\n // Counts\n const c = function d() {};\n`);\n\ncountFunctions(ast);\n// = 3\n```\n\n[babel-types]: https://github.com/babel/babel/tree/master/packages/babel-types\n[cache your visitors]: https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#toc-optimizing-nested-visitors\n[visitors]: https://github.com/thejameskyle/babel-handbook/blob/master/translations/en/plugin-handbook.md#toc-visitors\n\n## Caveat\n\nFor those of you migrating from Acorn to Babel, there are a few things to be aware of.\n\n1. The visitor caching suggestions do not apply to Acorn's walk module, but do for babel-walk.\n\n2. babel-walk does not provide any of the other functions Acorn's walk module provides (e.g. `make`, `findNode*`).\n\n3. babel-walk does not use a `base` variable. The walker algorithm is the same as what babel-traverse uses.\n - That means certain nodes that are not walked by Acorn, such as the `property` property of a non-computed `MemberExpression`, are walked by babel-walk.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}