{"_id":"@cumjar/websmack","_rev":"1-3ec4d9a7d5c3ed1009d13ae33560b923","name":"@cumjar/websmack","dist-tags":{"latest":"1.2.0"},"versions":{"1.1.0":{"name":"@cumjar/websmack","version":"1.1.0","description":"web bundlers' hard work undone.","main":"src/index.js","module":"src/index.js","repository":{"type":"git","url":"git+https://github.com/Cumcord/websmack.git"},"author":{"name":"Cumcord team"},"license":"Unlicense","devDependencies":{"esbuild":"^0.14.10"},"scripts":{"prepublish":"esbuild src/snippet.js --bundle --outfile=dist.js"},"bugs":{"url":"https://github.com/Cumcord/websmack/issues"},"homepage":"https://github.com/Cumcord/websmack#readme","_id":"@cumjar/websmack@1.1.0","_integrity":"sha512-j9aOtOh6wrRM4OZ4I/LxPDu1eTJ2tciFGDisnthg44GQu+rtXF/R1Px/bUobMVSWRS6mRjAwRQlze2cMUcbP9Q==","_resolved":"/tmp/4960f3645072a0289c4676610e88068c/cumjar-websmack-1.1.0.tgz","_from":"file:cumjar-websmack-1.1.0.tgz","_nodeVersion":"18.6.0","_npmVersion":"8.14.0","dist":{"integrity":"sha512-j9aOtOh6wrRM4OZ4I/LxPDu1eTJ2tciFGDisnthg44GQu+rtXF/R1Px/bUobMVSWRS6mRjAwRQlze2cMUcbP9Q==","shasum":"3b620f28e756e6451c4ed7d21d6d8d25945f37ae","tarball":"https://registry.npmjs.org/@cumjar/websmack/-/websmack-1.1.0.tgz","fileCount":14,"unpackedSize":12483,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAcaYfDkU/9IhdPSm4GCCbhrLei5xBY/xvBRCx7hl2sUAiEA1azRT1qVUiJdfnfHul8m8YEoNgfEsSDCcCrRSJTZ0ic="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3W3zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmomAA//TalPDSqXHblIeJmd8LxW/ywAHhlxYG5DxNfympmFD6r2KP4v\r\ngrjVmgdz0+Vq19y9E86IFdHEDCFCGbFAOjOxNR/DD7Yqqvm3xYj+Gh84w9cI\r\n5SwrADtn7PuDW2JjAcxbkPI3tpKyLJVec2FPZ/Jil5WtmpBImNkrHViRsnfe\r\nbyLzggOrDAh7TvBwQw9GfArJqde37+QsXTt31vazo1tWZkusQQaJnjYzhwKq\r\nvjXnTajcHG3PxNbDjl/Ec0b5O9L0r3abTkfCvCYBkiWV9GZ5OsF4sY6CwJ+L\r\nQiEvbvGSPqX5jwTHGvuT4/MWgoSJoRXyZgGgTCUC7jyDKo5iCOeGfUrlWOIt\r\nAe31MKSFz1MwvFA5U0FJLQ1TGTbTxwTt67pCGZmDJXnPdvnRwNRSj5c0KNLi\r\n0/AzZyenzMmCLxk6ktjX8tjA5ngW91CUKpJpgIjXclM79yQR9FPyD21FUjZ0\r\nFzlaB1NrFZ20AGGLLMr/9onYqh25/WaIzKwqQKNP+oVrC/aagRCNYCOLbkC3\r\nrKfXjYT3TVGp3B76YiSti3LwVF5PoYWWwVFtMKfJiMrz6OY4B71Jt8JNVLgA\r\nAHmV2vXMiI0xIof6solV1puurjeULhQdNplVbnLPsjZfqm5Gtc2fdIDrMSnX\r\nOusEcqPgz7IpMlAM5MD+fCBmHL0KAyOW1rc=\r\n=NwpM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"yellowsink","email":"yellowsink@riseup.net"},"directories":{},"maintainers":[{"name":"cr3atable","email":"creatableog@protonmail.com"},{"name":"yellowsink","email":"yellowsink@riseup.net"},{"name":"lexisother","email":"alyxia@riseup.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/websmack_1.1.0_1658678771743_0.33672687439146576"},"_hasShrinkwrap":false},"1.2.0":{"name":"@cumjar/websmack","version":"1.2.0","description":"web bundlers' hard work undone.","main":"src/index.js","module":"src/index.js","repository":{"type":"git","url":"git+https://github.com/Cumcord/websmack.git"},"author":{"name":"Cumcord team"},"license":"Unlicense","devDependencies":{"esbuild":"^0.14.10"},"scripts":{"prepublish":"esbuild src/snippet.js --bundle --outfile=dist.js"},"bugs":{"url":"https://github.com/Cumcord/websmack/issues"},"homepage":"https://github.com/Cumcord/websmack#readme","_id":"@cumjar/websmack@1.2.0","_integrity":"sha512-CtNQ3/EdeEAEx8bAPi3eKNCC41P88u40ja69TwpVerMZ93l0Kk7NpfvqY+YW50AvBN90FdmfLCRsJYzPIxQ90A==","_resolved":"/tmp/8e15d799c3d6775b5731555771358a80/cumjar-websmack-1.2.0.tgz","_from":"file:cumjar-websmack-1.2.0.tgz","_nodeVersion":"18.7.0","_npmVersion":"8.16.0","dist":{"integrity":"sha512-CtNQ3/EdeEAEx8bAPi3eKNCC41P88u40ja69TwpVerMZ93l0Kk7NpfvqY+YW50AvBN90FdmfLCRsJYzPIxQ90A==","shasum":"4e22d3d9a3071f7da20f0f0c78bcf7882aab79be","tarball":"https://registry.npmjs.org/@cumjar/websmack/-/websmack-1.2.0.tgz","fileCount":14,"unpackedSize":12925,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5xNXPoAKahPp9foKhUL02Yv9xHaKdZTkNt77v12+wsQIgO35Wy2h5kZhH8SvljR1gFBcvRtJvgbWKaRMuzqQr8YQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi86hKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpG8A/+K7Tye/07TAtG7c1ZwRs5zR2zA/CduCD5/mc+su6lLgyVS6OJ\r\n1YWWMVZinhQT4qV+b5zsLXm6SffkR9JQxDdkxYZ9XhKQ/xfU0rXTPMAAkgpF\r\nLXSmAo9fFF3Sab9mxZCI/ivgRNQErdyJl0+ESuwzX420QAEdx0RRSfzbon7s\r\nxhwvQKrYW6Wq5U6pr9V50HMAhm38VPWy8qkt/FWwaj9rk+/H5FqjAFWaIyke\r\noaiJUy/dPDih9hwtIRZnadXESIfstOw0rUSBd2AFCGRxNaLWlaJN0V4iFbDc\r\nxDS7N5+V7qDpqjt9KDl3A8ddXCqL8FH5XV8wRh5pzq8it4ENEXVnr9JlxY00\r\nBVQ+jFFAIyHMZMZ5hJwAUk8uxzCM36+uSJ55gGDiEF7zgPhwwTm2y5+asZS8\r\nla/pDFcziYu9hCJST5unau7Ly0hT1LCFk1Kxz1z4GVSxFBRRUO0ybpOWooOj\r\nv8zutAdBgAlteOxVvSjPdKK9bGW9s5nVsTrgs75+JVkD2Pt9TBGOdfoVvgyL\r\n9b8ev0oo0BY/dOnFx2QMf1VJhTxmobxUVfE9CW6VhY8OuhDbaUIKF5OXiY8N\r\nGX6f9cocDAI0VJWiAPSYvFERodGJalsVLWWZ+RMknzV5D+ggpOeLFLhGIXdw\r\n3k7bOYylA+aJgCH27L5KBXtoUBBumR6C81o=\r\n=f2sj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"yellowsink","email":"yellowsink@riseup.net"},"directories":{},"maintainers":[{"name":"cr3atable","email":"creatableog@protonmail.com"},{"name":"yellowsink","email":"yellowsink@riseup.net"},{"name":"lexisother","email":"alyxia@riseup.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/websmack_1.2.0_1660135498380_0.04880048125231573"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-24T16:06:11.669Z","1.1.0":"2022-07-24T16:06:11.936Z","modified":"2022-08-10T12:44:58.649Z","1.2.0":"2022-08-10T12:44:58.539Z"},"maintainers":[{"name":"cr3atable","email":"creatableog@protonmail.com"},{"name":"yellowsink","email":"yellowsink@riseup.net"},{"name":"lexisother","email":"alyxia@riseup.net"}],"description":"web bundlers' hard work undone.","homepage":"https://github.com/Cumcord/websmack#readme","repository":{"type":"git","url":"git+https://github.com/Cumcord/websmack.git"},"author":{"name":"Cumcord team"},"bugs":{"url":"https://github.com/Cumcord/websmack/issues"},"license":"Unlicense","readme":"# Websmack\n\nWeb bundlers' hard work undone.\n\nSee CONTRIBUTING.md pls thx\n\nAll functions take a key to override attempting to find one itself.\n\nThis project continued and relocated from PolyStratum/webunpack -- yellowsink 2022-05-16\n\nAll site lists are non-exhaustive.\n\n## Top level API documentation\n\n### `autoraid(): [\"find method\", {...}, ?wpRequire]`\n\nJust grabs the modules, trying every method until one works.\n\n### `webpackJsonp(): [{...}, wpRequire]`\n\n- Slack\n- Twitter\n  - Tweetdeck\n- MS Teams (not the rest of Office 365!)\n- Deezer\n- Soundcloud\n\n### `webpackChunk(): [{...}, wpRequire]`\n\n- Discord\n- Telegram (mostly)\n- Tidal\n- Spotify (web & app)\n\n### `parcelRequire(): {...}`\n\nWorks on apps built with Parcel. No currently known sites/apps.\n\n### `createApi([, modules, ?wpRequire]): {api}`\n\nCreates an api of webpack searchers given found raw modules.\nDesigned to work in such a way that you can pass autoraid() directly to createApi.\n\nAPI docs further down.\n\nYeah I know wrapping apis in a closure is cringe for bundle size and stuff, but like its just cleaner to use this way.\n\n### `autoApi(): {api}`\n\n`createApi(autoraid())`\n\n### `batchFind([, modules]): (callback) => [...]`\n\nBatch find a large number of modules.\nIncludes all functions from createApi except findByCode.\n```js\nbatchFind(autoraid())(\n\t({ findByProps, findByDisplayName }) => {\n      findByProps(\"dirtyDispatch\");\n      findByDisplayName(\"Markdown\");\n    }\n);\n```\n\n## searcher API documentation\n\n### `find(filter): module`\n\nFinds the first module that matches the predicate.\n\n### `findAll(filter): [...]`\n\nFinds all modules that match the predicate\n\n### `findByCode(code): module`\n\n*!!! This function does not work in batch finds and in non-webpack situations !!!*\n\nFinds a module by checking if a string / regex matches the bundled code.\n\nHas an all variant.\n\n### `findByDispNameDeep(name): module`\n\nFinds by display name but also breaks through wrappers like memo (most of the time).\n\nHas an all variant.\n\n### `findByDisplayName(name, defaultExp = true): module`\n\nFinds a module by its display name (if the app exports that prop on components).\nSetting defaultExp to false will return the parent of the component for patching.\n\nHas an all variant.\n\n### `findByKeyword(...keys): module`\n\nFinds a module by case insensitive substring matching. Useful for finding things you dont know the name of.\n\nHas an all variant.\n\n### `findByNestedProps(...props): module`\n\nFinds a module by prop names in props of the module... weird to explain but useful for some apps (eg Kaiheila).\nFor example, `findByNestedProps(\"prop\")` => `{ a: { prop: ... }, b: ... }`\n\nHas an all variant.\n\n### `findByProps(...props): module`\n\nFinds a module by props that exist on it.\nThis will probably be your bread-and-butter finding function in apps that dont minify away export keys (eg Discord).\n\nHas an all variant.","readmeFilename":"README.md"}