{"_id":"@alu0101404141/constant-folding","_rev":"6-d68a9d3e60bea4c461d3d66801054dbb","name":"@alu0101404141/constant-folding","dist-tags":{"latest":"0.9.0"},"versions":{"0.3.0":{"name":"@alu0101404141/constant-folding","author":{"name":"Saul Sosa-Diaz"},"description":"Adds logs to javascript code","type":"module","bin":{"funlog":"bin/log.js"},"scripts":{"test":"mocha test/test.mjs","exe":"node bin/log.js"},"dependencies":{"commander":"^10.0.0","escodegen":"^2.0.0","espree":"^9.4.1","estraverse":"^5.2.0","underscore":"^1.12.0"},"version":"0.3.0","devDependencies":{"mocha":"^10.2.0"},"main":"salida.js","directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141.git"},"keywords":[],"license":"ISC","bugs":{"url":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141#readme","gitHead":"79e6cc4e22ca5d03ad200a6bf10372125d430e7d","_id":"@alu0101404141/constant-folding@0.3.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"integrity":"sha512-5ofMP2rnjdPe5cKBuQmDf/ZRwYYsPMWxFDHTh/4d4FoPsOKQ6cAQzrfn/W9CdzjMdz+gFZWQeR0NFWYm7ghy6Q==","shasum":"284224971771a9c0a34a02c0038f1bb3d0de0f79","tarball":"https://registry.npmjs.org/@alu0101404141/constant-folding/-/constant-folding-0.3.0.tgz","fileCount":30,"unpackedSize":13196,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEpyQCS+mhDjeR9le6sh4p4CiwEYOGpjSanjh1gnDsRkAiATVULEtL5BlaksiCu26I6wwVP9RLFGRMM9bMgHJZ2DBg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/63gACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrFzA/9GveievMBSvvD072+skZi4SB6pfTy5gJ/MGeHiVshmTSupyYx\r\n7j9Zz51Xl8LWh9iU/Qsvhx7Bd6XzZ/dU12YeOu+QH2nLPIUditBgQVXloRnR\r\np+HaNAMnPKDluTIAcecV58TXSaIuXyijjCV/YugKmoYcCXxQ29YeeyvmB3Mj\r\nReBL1BPHMB7BdROKkDAmp0jB0UjzOnh6sao1FinUxaGPu/SdXs1lJW5X7ybz\r\nQl9gZZG8P4F8DreUqbaDcv/yBSoUC8UFaD1lVi9xwuoKLGMw5szavnS6EgEz\r\nmssMHbAkWqCKtYg1aKbkNwQpWdRTvH2T/5QRGCSjzNi3z3FyaKGyPinCsYz/\r\n1Dgdd1pdnhvdWJaOeqwnkpXY2DHzKUqxLI0y/TobBjI0kCBNWU8DFt3dZCLB\r\nszjSPG5BJY1dKXndKwZjgQFvnvxduhtf4GM3bhRIwaudx8d5EiJxIXVwK+Bd\r\nCVFQWsl85j+cVWAttnm+Gzv0WNQBoD6KzkdTYg1zJsh0+zcbYq6U3iYLjcsR\r\nR2cVwz79FjKPh4peoPhdW1zEP5r0qiEuC/yyE6jwvZJCJtk6xBY91uE5nz25\r\nDFoyndof1IsCMw9jK8GTuCIIMxzc7HpuS9gDKgIuQs1pyzV3pUNOJOH3xOiX\r\nhT90B1A3mtWCt28cMOzyHJqCe+44uvFDpJc=\r\n=hk2n\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"},"maintainers":[{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_0.3.0_1677700576578_0.6727077045454048"},"_hasShrinkwrap":false},"0.4.0":{"name":"@alu0101404141/constant-folding","author":{"name":"Saul Sosa-Diaz"},"description":"Adds logs to javascript code","type":"module","bin":{"funlog":"bin/log.js"},"scripts":{"test":"mocha test/test.mjs","exe":"node bin/log.js","cov":"nyc npm run test"},"dependencies":{"@alu0101404141/constant-folding":"^0.3.0","commander":"^10.0.0","escodegen":"^2.0.0","espree":"^9.4.1","estraverse":"^5.2.0","underscore":"^1.12.0","nyc":"^15.1.0"},"version":"0.4.0","devDependencies":{"mocha":"^10.2.0"},"main":"salida.js","directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141.git"},"keywords":[],"license":"ISC","bugs":{"url":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141#readme","gitHead":"79e6cc4e22ca5d03ad200a6bf10372125d430e7d","_id":"@alu0101404141/constant-folding@0.4.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"integrity":"sha512-kS4mYzgI22HixPxMP72u4Q8JbJojpPKENvnxX3g/GKLrVFAEI6430LwQYUVImo3XP7neE/grPygeoG2dCjkc4Q==","shasum":"17ce70ed14863551fb04e6c9bcfc9bc8130aad69","tarball":"https://registry.npmjs.org/@alu0101404141/constant-folding/-/constant-folding-0.4.0.tgz","fileCount":36,"unpackedSize":14765,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaYBaJ+OuznBwlo1jvM0ss1v9Giszu9bvTYa7yXZn2aQIgLWcu+BPfdyTPqNrE2bkTeagCPPR7E9Vrrn8WHh6/9Lk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/7R4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrnjhAAiL4uqErBtFv340hsKkBWv5apbhv3ClwAuLo/H0Nst8e79Vnm\r\ni807YK8cbsUsgB6oH7Zum0a8fykaY4b8RFmDU1alHHfcgAp7B4G+cKtVNShX\r\nUwu/xBoPcqjBmz730an29BAPvFATo5wZ0STXEyCbG3CPnvNyicSAtBE+wkVn\r\nm9Hsp8zele8QGy3Zn+rgSIW3EOYesauIJ3XeSAoNvHaO/jmHK3hrpi6R/Ryv\r\n6GY2Lbqzxbt/6DCkcCdJd8QMtaew7h5O6TwfD1EwktrnEr4B8P4RbFvGoE24\r\ndLfD/onism5H2dQoP71nibcko1OWby46+WmxFtxIgIQJsratj+ZXevkoA3GR\r\n1vqrPmBGRX6w2iG8m5p0nUmwZIFRyJOMg/x4/xb1VCJCkem8OqXcMSWgkbTw\r\nO5gjGISRMaGWCVTxCjrl/7vZ9dhutuaqubDbJyd455/vSTVFiL1PS7J+G+TO\r\nxIEtUfOoFt2zWgIIu2JvVtbnT8Zmdpqf5lAQsz/LXCwHd5hdOgAln0XYcUBB\r\nUp8sQj5Iixd+MKNf8m5UC95JOcX6e614+SkFouP2ITbUUd2nHIlsoWSVc6Sf\r\nE7uznL5n2xT+MTVRf0D89254GU/nncVoB9jXyDzzImE+ZxTI+rsJCuKQ1Uif\r\nRDlFbGfSQTsQUIhjkCjRksWI/Slfd6YsilE=\r\n=E712\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"},"maintainers":[{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_0.4.0_1677702263823_0.43567396106774914"},"_hasShrinkwrap":false},"0.5.0":{"name":"@alu0101404141/constant-folding","author":{"name":"Saul Sosa-Diaz"},"description":"Adds logs to javascript code","module":"src/logging-espree.js","type":"module","bin":{"funlog":"bin/log.js"},"scripts":{"test":"mocha test/test.mjs","exe":"node bin/log.js","cov":"nyc npm run test"},"dependencies":{"@alu0101404141/constant-folding":"^0.3.0","commander":"^10.0.0","escodegen":"^2.0.0","espree":"^9.4.1","estraverse":"^5.2.0","underscore":"^1.12.0","nyc":"^15.1.0"},"version":"0.5.0","devDependencies":{"mocha":"^10.2.0"},"main":"salida.js","directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141.git"},"keywords":[],"license":"ISC","bugs":{"url":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141#readme","gitHead":"79e6cc4e22ca5d03ad200a6bf10372125d430e7d","_id":"@alu0101404141/constant-folding@0.5.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"integrity":"sha512-vT60k+9u0QkaSh4lKPhPGCAVJ5/CniN2ey27+uEJBEAAVncHVC4PAHY3v3D2QbAWnpZ8SCRoTY6hNjlVl0O7dA==","shasum":"4eec514f0bbe03aad2f06fd702e3d26949a994a5","tarball":"https://registry.npmjs.org/@alu0101404141/constant-folding/-/constant-folding-0.5.0.tgz","fileCount":36,"unpackedSize":14812,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmBEDtuX6tObt+iD3RzQOLsQAnG/lr3xtxy90g7i7WMgIhAMICv/aAivHn8VMu78mAEbAVcnkw+7OG3Dy8pmvZnYEA"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/7cgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXig/+LKNj6uxQFz4SMH0iOtxcGEl+R3F3Zy6VquAGHDYlEAAp11s3\r\nBEDiTWoTNKHPYZfBIb+TwrubaCfoNRE+OThObj10eachb/gf1N4oWQWlswOT\r\nqvM1MMrAmFmWXq/OJV7kqawQNJADUoaEFFaEY6RTjXFL5cjoQ2xlDFCHm8s+\r\nWIOqerU4TCF2Dj/F6quScXYiieRaWXX+yJ9jSrbHnjEWvaFJ+Y+VVwOT1tN/\r\nee4BVp+HqQ+sGbpEX+648E6xAxOobYr/oaNzoVmwwcH8QnfKBBRkea/rrLMw\r\npjs7Z/WPi0x3yrQFNBq9ASjvGCUlr2hxlWtCobdcC4KNf/aOXzAz1zJp/5ga\r\nanNRCxIlcgR3iorNPUv28cSe2ZJ6sYGyAmM1h7zXXH5Pm9AmZs3cu7MBdw6U\r\nvLSyPIDQF2NXYeeKsZhBVxvoL1FeW55zRM54Dk0OIRMlg9BozUWndo5HGXrA\r\ntbhsd9HhaJYJuPpbJ8GiPxkg6Q2fvAzYbgjjyU2fVg0od+DGwBwz64MX03cN\r\nTTg2rKoXeR/EoegUgxYaQemW2QCqWC+S9DYghHYg4I4SkIi9lr+DJSvDNYVt\r\nEbAdZIIoV4QAJ0FdMf1YaNyENAUtSMf0v26P1dtjs+iYHM8CLYg2cdDWUIwN\r\nyR5G0FBLJ4O1vZFSe+Qs3COAS3KALp9WIdw=\r\n=qR+5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"},"maintainers":[{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_0.5.0_1677702944658_0.35713213909274977"},"_hasShrinkwrap":false},"0.6.0":{"name":"@alu0101404141/constant-folding","author":{"name":"Saul Sosa-Diaz"},"description":"Adds logs to javascript code","module":"src/logging-espree.js","type":"module","bin":{"funlog":"bin/log.js"},"scripts":{"test":"mocha test/test.mjs","exe":"node bin/log.js","cov":"nyc npm run test"},"dependencies":{"@alu0101404141/constant-folding":"^0.3.0","commander":"^10.0.0","escodegen":"^2.0.0","espree":"^9.4.1","estraverse":"^5.2.0","underscore":"^1.12.0","nyc":"^15.1.0"},"version":"0.6.0","devDependencies":{"mocha":"^10.2.0"},"main":"salida.js","directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141.git"},"keywords":[],"license":"ISC","bugs":{"url":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141#readme","gitHead":"79e6cc4e22ca5d03ad200a6bf10372125d430e7d","_id":"@alu0101404141/constant-folding@0.6.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"integrity":"sha512-/Acb9CM3mmS9YlXG+vfox1LbcjFV5W/B6+x9mXRrT8tdlORqkgpeCDo8R6u397mU/tmF0b1xiHe78D1WFyPFrQ==","shasum":"d44a502d56e437b214f21b8d3ddf711d94d0c182","tarball":"https://registry.npmjs.org/@alu0101404141/constant-folding/-/constant-folding-0.6.0.tgz","fileCount":36,"unpackedSize":14773,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDO3PzkBEfRXM4aUpLkMNUPvMqD+kmmGooCPdwCFra+CgIhAK93qzErNlk1QQDIqBtKWEvN8W+q9ub0u00NZbdTb7jJ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/7fTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmptHw/+MTBuVrqgfSuJLWtoGDfLklWlmTyD/vmSejSIYMezv2W0VYRM\r\n3JMf/VzSjfZOLrP1B8bhfD7UnvhCKe0UBXwfwB5ztvX0QbD3LGnTIa8M4rZa\r\nFEr/WX9j+5Deyd+CgHJbV+sBjSD8Q4KJObEZJxHtAmX1MGuMaNSBCBwBdPcR\r\nh5fFVrJWwG70QMVWglyY6oBGsp5r4d3Rag9neNnjOk8thzyEI+o08V70/6Gq\r\nBHwXUQ7Ys/EgkU18QgB6JckadFQaYcPIM90d3/mlUBCUYvdmtJTKq8hIVCuR\r\nQ6G3ZLU4fu26dAuQ6udrW72fT3fEYtO52zphW6CnNKNgkyXuEO3sAK2P9fx9\r\nqEC2POFSlwyLk/EsJGsPm4AUiAN+NixQ3FuwtxxELyoAE2KcDsx0vVWOIiZ6\r\n/v+2Ul4KXBZXjiMiCaKieTW8KdZEsGIgRtnjNftcn86wydmh322WTFYDPQdG\r\nj9mD0rWISsRx+Z44WnlSnqlZa2A0pm0F537CLlNGFGXBXPWn2+pjUkSoWlIR\r\nVziPkubQRPLQ/ADSpueyb0MMaQcdcoZ8hRch7U/MQ26PdLME90odObNi3PBP\r\nm0iTZ5HJFZmfwZenFrdVUsQxJmLrB25I17IhlKOOardWt1hMEnZOXkxCgOdB\r\nbqRTNrwYb+piKDBJZDzuJGiePQZv2CtXSqg=\r\n=fK/4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"},"maintainers":[{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_0.6.0_1677703123317_0.15375679441221002"},"_hasShrinkwrap":false},"0.7.0":{"name":"@alu0101404141/constant-folding","author":{"name":"Saul Sosa-Diaz"},"description":"Adds logs to javascript code","module":"src/logging-espree.js","type":"module","bin":{"funlog":"bin/log.js"},"scripts":{"test":"mocha test/test.mjs","exe":"node bin/log.js","cov":"nyc npm run test"},"dependencies":{"commander":"^10.0.0","escodegen":"^2.0.0","espree":"^9.4.1","estraverse":"^5.2.0","underscore":"^1.12.0","nyc":"^15.1.0"},"version":"0.7.0","devDependencies":{"mocha":"^10.2.0"},"main":"src/logging-espree.js","directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141.git"},"keywords":[],"license":"ISC","bugs":{"url":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141#readme","gitHead":"79e6cc4e22ca5d03ad200a6bf10372125d430e7d","_id":"@alu0101404141/constant-folding@0.7.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"integrity":"sha512-iSsz82WrJYa/kQO0mDvbpuQTx5FC93W67ZV4Iix76DyYenTJ6YE6SNPPEWuWEz+/y4ZNOW22gYbTfQ682TpFlg==","shasum":"1afa982dcf5e406c05d320e4330298bb09cbe004","tarball":"https://registry.npmjs.org/@alu0101404141/constant-folding/-/constant-folding-0.7.0.tgz","fileCount":36,"unpackedSize":14736,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5XUHrwgY6CamjR/sz5ZdnJB21+lRZcn9SMU4kZb2SCQIgFTonSq3d9SeggGFikXfrqrrS2jP6tr0mddSnuiDH9Sw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/7tqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNVQ/9H8PL1KNX+PdsVeOSbsrB+lmDY9EXaae+Ex5JFnBSUVSkMrAE\r\nrq01C0lhrwIZY8lBCBC2OPTTEngpVZHEceq71Nnsr5+tTnkvcvg5aSSBCdPs\r\nv/TXKuGHASJ06pY/somk3bsCbNvbWMOC7Np0iwgFST2btqpxgrMM6yaUEY/q\r\nNiOmR7vgWY9i3LE9J3LtXjDdKGMuz89O3G1VZEpJCi/4F19asP1dAwW9ExXT\r\nh/QUhRSD8GKbMATsaW83wk0MKqyC5Yrvkd+BmMbutSKcDDBgtiCC1QgGDUOy\r\nRe9re/E1r7h4/IvT1MphyJmz4mxFvuaHEVUt1Fwi20AEV3ixKYBDdOMfVaF+\r\nHAs7bUT/arIeknM2T7xzLYrocvVJwPtkQrEonMDiogpq0yV+2ixOQ+8hQkGZ\r\nzqDNDSoWEJJsJEwLDRR9NxbCcotUB9zAK/JbQ6QIHw3KXd4HLh3dF9I7NTVV\r\nIQonsLxVMNH1H2Gc+JeJj2rarbUlnivozeQTJFAGSj2+4KocTF3GMGiFvFT+\r\nI+EIVBF0OqWLb1MYAOonsFw1pJ9WWNSdzCsevUp9a3x6Q3wW3allTjo6lJtA\r\nXYs4rRfTshw/QfZ6qPNf4KPLLWbv9mOL1PrVfNhn+9CVmLtU7GNuPc4GPwyi\r\n7Wu1O+vqwK0SVrSQoAZTpcZywifvMPxipjo=\r\n=uhvk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"},"maintainers":[{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_0.7.0_1677704042769_0.807848439659683"},"_hasShrinkwrap":false},"0.8.0":{"name":"@alu0101404141/constant-folding","author":{"name":"Saul Sosa-Diaz"},"description":"Adds logs to javascript code","module":"src/logging-espree.js","type":"module","bin":{"funlog":"bin/log.js"},"scripts":{"test":"mocha test/test.mjs","exe":"node bin/log.js","cov":"c8 npm run test"},"dependencies":{"commander":"^10.0.0","escodegen":"^2.0.0","espree":"^9.4.1","estraverse":"^5.2.0","jsdoc":"^4.0.2","nyc":"^15.1.0","underscore":"^1.12.0"},"version":"0.8.0","devDependencies":{"jsdoc-to-markdown":"^8.0.0","mocha":"^10.2.0"},"main":"src/logging-espree.js","directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141.git"},"keywords":[],"license":"ISC","bugs":{"url":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141#readme","gitHead":"1e16e3f9bdf98bb88586b365b9ec0ff6b06d0a0f","_id":"@alu0101404141/constant-folding@0.8.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"integrity":"sha512-/FbhMnSFPSVXwmtIfWT3NjztpmyrevGjqdpFhvvVVWEh3yDWnt2gZmzxOWP2FfA250mwpKoMtD9xwKJXHRYRAQ==","shasum":"3950dd3292b24f56abf3415dc28887b5a0e6dcb3","tarball":"https://registry.npmjs.org/@alu0101404141/constant-folding/-/constant-folding-0.8.0.tgz","fileCount":39,"unpackedSize":1863174,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSCDM2dyfZl4nRQXq0ivhaMT2QQD5HN3YS1j3uT9oxVAIhAJPXUI8CpzXmruDb5mdZjCXiSOPszwaxz+NzXHMbIQeZ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkANnSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/GA//bOem+3bWa4uazPSBTqCqpz7qHNRKqAXC3yah51zdtFqA2e91\r\nGYKolfWfFMfQigzASuCAdSOnGKsH6RTQ3p6VEKTovOtM5QbqxZqVbtnRb7/m\r\nSO/acrfyRQjRWlLwTmNmZEF4cLmPL4gdkrRoUspzR4omdApWz5eBU9QDFgmZ\r\nOxUcy9kjUdK8qABPs+yWyOF1x4dWhaYgiLel60OhDsQ6/RY6gjM8OAe6XoPn\r\n5Ngh4/u/ohBwwV8Af+GugAyK+7PjY0vmlZOmGxq2WFp5JO7E/qSc3mH8ZoLC\r\n/4fswp+nDhZQGF36k024TDu+EWl+L5q2bN5mpa6IrIt8Wug8ABvDE0b0z7Mq\r\n81lAxUijTnYboqkh9nuXr449z5Pfmb2MwWvaTmFGJtYShOnbb1nLqQ4jDal7\r\nL9ZqqsCzQiEw8m37aAbq2Njlc8MeLG006GQW8nq2Mo/ZKsfjydFb31xECl3U\r\nzj8tq6k8v/x2RUH1oLC8TwG+kmMzbXj6wHHZbLOj6glsxyc2U8aHjSFnS+cv\r\nA7VD/uiO2n4iZtu1Ir/OLW1vWAk3l7ahJYc7ioVecSXWEFrIx3s+Mrio+KW6\r\n/g4JmTdz+/D6ETMex61ZFENugX05sYrV806JWmctwcH+lwg2WtLCtTEUEq/G\r\naUyYnvlsRLu4/T62xQna6yvwCogr6s2t/Mc=\r\n=n3X3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"},"maintainers":[{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_0.8.0_1677777361916_0.5793622126135911"},"_hasShrinkwrap":false},"0.9.0":{"name":"@alu0101404141/constant-folding","author":{"name":"Saul Sosa-Diaz"},"description":"Adds logs to javascript code","module":"src/logging-espree.js","type":"module","bin":{"funlog":"bin/log.js"},"scripts":{"test":"mocha test/test.mjs","exe":"node bin/log.js","cov":"c8 npm run test"},"dependencies":{"commander":"^10.0.0","escodegen":"^2.0.0","espree":"^9.4.1","estraverse":"^5.2.0","jsdoc":"^4.0.2","nyc":"^15.1.0","underscore":"^1.12.0"},"version":"0.9.0","devDependencies":{"jsdoc-to-markdown":"^8.0.0","mocha":"^10.2.0"},"main":"src/logging-espree.js","directories":{"test":"test"},"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141.git"},"keywords":[],"license":"ISC","bugs":{"url":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141/issues"},"homepage":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141#readme","gitHead":"4e224bc28b415c2200aec0de8fb1dd635f36cc13","_id":"@alu0101404141/constant-folding@0.9.0","_nodeVersion":"19.6.0","_npmVersion":"9.4.0","dist":{"integrity":"sha512-XEy8k2qATJUsj7HWUL08oTK/hbHElB0UASiJh2vjDwlmPt8VSa8I7e6snSISsYr6KoQ/Bv58pF5zpnVjzihlyQ==","shasum":"6bace74e75ad06ba9d2d495e0feb57933468efee","tarball":"https://registry.npmjs.org/@alu0101404141/constant-folding/-/constant-folding-0.9.0.tgz","fileCount":42,"unpackedSize":2055451,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2g0/Ocpz7defuJKVHPGR2NtAg5MWo12UWiqq8FA3fxwIhANDfs2NkBtUDsuzmOC2j9GM/x+ptnmqnIBLDh1oVFIi1"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAOa3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqoyg/5AEYBcumwjvE/Ua/XbbVbnEmUVtEyWl32lQ6Kb71FmbR+o/WV\r\ncn/tOG6ZSwlbHuXK+VA/GWjihqTe66o3D05YvFLniMLEZdCRbQgECCjqUiRw\r\nmjgLx/BRYCQR7RZQdbY2QFGzb25ka2t3xbjofhh7cdGfjchm3nd8oxzZp2BO\r\nwqczC/UonWs6VSlJSUdYIWe1uhu7yRBCCiAEugWkldA6ioQMs2d1C2EnVESX\r\nEi/bMrf9EEWY8c+mJL9njJyzq34TfyfNI5NEyLDMbZ5xcKRSuaSP9oc8mZci\r\nA5FaC94Kd1knUNuqqkrAMw+gkHgIAq2uYKLZ2W1MVcQM7p526oGntoz9fqha\r\nbxD0flUU1qHeUTSdBAVBg4z+xvQmTYojKHLkdAhIVFWjRsyUWjQME8aBOFMy\r\njmgKKLO6Fq5nF/zPNe9mc+mKPeMDY3EKPFI7Io1B79xQgF4nNgnScn7cRh6k\r\nNL62C7HuKmZwbZOzgEONofEjNwS2fidxRp9OdeOwHZLB/umb8oDVN6UYwWDw\r\nlGtZzSs71PYKP9Sd2lrdWkRwy5EDekY4Rg3KwvKekhtfzqGfI4Ac9vx+ERCt\r\nebkQ3QPfCAfLVcCOCes3OSHhQnFNFuJKMFFSpeUFZ1I8O4m+ZFeu+iMCsCXD\r\n51erQ9n26oaS+ic6B/Eue0aIcyApgD80Z5s=\r\n=8OfK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"},"maintainers":[{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/constant-folding_0.9.0_1677780663505_0.05510413279966464"},"_hasShrinkwrap":false}},"time":{"created":"2023-03-01T19:56:16.517Z","0.3.0":"2023-03-01T19:56:16.734Z","modified":"2023-03-02T18:11:03.890Z","0.4.0":"2023-03-01T20:24:24.030Z","0.5.0":"2023-03-01T20:35:44.823Z","0.6.0":"2023-03-01T20:38:43.475Z","0.7.0":"2023-03-01T20:54:02.939Z","0.8.0":"2023-03-02T17:16:02.180Z","0.9.0":"2023-03-02T18:11:03.714Z"},"maintainers":[{"name":"saul_sosa_diaz","email":"alu0101404141@ull.edu.es"}],"description":"Adds logs to javascript code","homepage":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141.git"},"author":{"name":"Saul Sosa-Diaz"},"bugs":{"url":"https://github.com/ULL-ESIT-PL-2223/espree-logging-saul-sosa-diaz-alu0101404141/issues"},"license":"ISC","readme":"[![Open in Codespaces](https://classroom.github.com/assets/launch-codespace-f4981d0f882b2a3f0472912d15f9806d57e124e0fc890972558857b51b24a6f9.svg)](https://classroom.github.com/open-in-codespaces?assignment_repo_id=10291421)\n# Práctica Espree logging\n\n##Saúl Sosa Díaz\n## Indicar los valores de los argumentos\nPara indicar los valores de los argumentos se ha creado la siguiente función:\n\n```js\n/**\n  * @brief Agrega código de registro de eventos antes del código de la función especificada en el nodo.\n  * @function\n  * @param {Object} node - El nodo del árbol de análisis sintáctico que contiene la función a la que se le agregará el registro de eventos.\n  * @returns {void} \n  */\nfunction addBeforeCode(node) {\n  const name = node.id ? node.id.name : '<anonymous function>';\n  let paramNames = '';\n  if (node.params.length) {\n    paramNames = \"${\" + node.params.map(param => param.name).join(\"}, ${\") + \"}\";\n  }\n  const lineN = node.loc.start.line;\n  const beforeCode = \"console.log(`Entering \" + name + \"(\" + paramNames + \") at line \" + lineN + \"`);\";\n  const beforeNodes = espree.parse(beforeCode, { ecmaVersion: 12 }).body;\n  node.body.body = beforeNodes.concat(node.body.body);\n}\n```\n\n## Opciones línea de comandos.\nPara realizar este apartado se ha utilizado el paquete [comander](https://github.com/tj/commander.js#readme).  \nPara poder parsear la línea de comandos únicamente hay que pegar las siguientes líneas en el código:\n```js\nimport { program } from \"commander\";\nimport { createRequire } from \"module\";\nconst require = createRequire(import.meta.url);\nconst { version } = require(\"../package.json\");\n```\nEn estas líneas incluimos el módulo y la información de la versión que se encuentra en el *.json*.  \n\nA continuación debemos agregar las siguientes líneas:\n\n```js\n\nprogram\n  .version(version)\n  .argument(\"<filename>\", 'file with the original code')\n  .option(\"-o, --output <filename>\", \"file in which to write the output\")\n  .action((filename, options) => {\n    transpile(filename, options.output);\n  });\nprogram.parse(process.argv);\n```\n\n## Reto 1: Soportar funciones flecha\nPara agregar las funciones flechas tenemos que poner la comparación de node.type === 'ArrowFunctionExpression'. **Se puede ver que soporta el mensaje de log con todas las funciones posibles.**\n``` js\n/**\n * Agrega registro de eventos al código proporcionado y devuelve el código modificado.\n * @function\n * @param {string} code - El código al que se le agregará el registro de eventos.\n * @returns {string} El código modificado con el registro de eventos.\n */\nfunction addLogging(code) {\n  const ast = espree.parse(code, {ecmaVersion: 12, loc: true});\n  estraverse.traverse(ast, {\n    enter: function (node, parent) {\n      if (node.type === 'FunctionDeclaration' ||\n          node.type === 'ArrowFunctionExpression' ||\n          node.type === 'FunctionExpression') {\n            addBeforeCode(node);\n          }\n    }\n  })\n  return escodegen.generate(ast);\n}\n```\n\n\n## Reto 2: Añadir el número de línea\nPara poder agregar los números de línea debemos agregar el parámetro loc a true, que indica la localización de la sentencia.\nEl siguiente código pertenece a la función anterior.\n```js\nconst ast = espree.parse(code, {ecmaVersion: 12, loc: true});\n```\n\n\n## Tests and Covering\nSe han agregado algunos tests muy interesantes como:\n```js\n//Lamadas recursivas\nconst a = function (n) {\n  if (n === 0) {\n    return 1;\n  } else {\n    return n*a(n-1);\n  }\n}\na(5);\n```\n```js\n//Comprobar que no parsea funciones comentadas\n/*\nfunction aserejedejadeje() {\n  return \"Las ketchup\"\n}\n*/\nfunction main() {\n  a = 1 + 1;\n}\n```\n```js\n// Comprobar que no pilla funciones en strings\nlet a = \"function aserejedejadeje => {return \\\"Las ketchup\\\"}\"\nfunction main() {\n  a = 1 + 1;\n}\n```\n\nPara el apartado de integración continua se ha utilizado [github actions](https://docs.github.com/es/actions)\nPara ello debemos tener una carpeta *.github* en nuestro repositorio, y dentro de ella una carpeta llamada *workflows*. \nAquí implementaremos un fichero *.yml* que tendrá el siguiente contenido.\n```yaml\n# Write your workflow for CI here\nname: CI\n\n# Controls when the workflow will run\non:\n  # Triggers the workflow on push or pull request events but only for the $default-branch branch\n  push:\n    branches: [ main ]\n      \n  pull_request:\n    branches: [ main ]\n  # Allows you to run this workflow manually from the Actions tab\n  workflow_dispatch:\n\n# A workflow run is made up of one or more jobs that can run sequentially or in parallel\njobs:\n  # This workflow contains a single job called \"build\"\n  build:\n    # The type of runner that the job will run on\n    runs-on: ${{ matrix.os }}\n    strategy:\n      matrix:\n        os:\n          - ubuntu-latest\n          - macos-latest\n          - windows-latest\n        node_version: [ 16.x]\n        architecture:\n          - x64\n\n    name: Node ${{ matrix.node_version }} - ${{ matrix.architecture }} on ${{ matrix.os }}\n    steps:\n      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it\n      - uses: actions/checkout@v2 \n      - name: setup node\n        uses: actions/setup-node@v3\n        with:\n          node-version: ${{ matrix.node_version }}\n          architecture: ${{ matrix.architecture }}\n      - run: npm ci\n      - run: npm test\n```\n*Este script se ejecuta cuando hay un push o una pull request en la rama main.*\n\nUna muestra de la ejecución de este script:\n![](integracion_continua.png)\n\nSe ha utilizado la herramienta c8 porque nyc no soporta los modulos ES.\n![](cover.png)\n\n## Librería npm.\nSe ha publicado correctamente la librería en npm en el siguiente [enlace](https://www.npmjs.com/package/@alu0101404141/constant-folding).\n\nSe ha probado en el directorio de la práctica anterior que se ha podido instalar y funciona correctamente.\n![](instalacion_libreria.png)\n![](ejecucion_libreria.png)\n\n## Documentación.\nPara la documentación del código se han utilizado comentarios estilo [JSDoc](https://ull-esit-gradoii-pl.github.io/temas/introduccion-a-javascript/documentation.html#jsdoc).\nY se ha utilizado la herramienta [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown) para la creación de un readme automático que se encuentra en la carpeta */doc*.\n\n## Scripts del programa.\n\nEn el fichero package.json se han incluido scripts para la ejecución del programa: \n\n```\n\"test\": \"mocha test/test.mjs\",\n\"exe\": \"node bin/log.js\",\n\"cov\": \"c8 npm run test\"\n```","readmeFilename":"README.md"}