{"_id":"@electric-otter/bark.js","_rev":"13-d00f6e3cc0f7570482e15c67e311d564","name":"@electric-otter/bark.js","dist-tags":{"latest":"2.0.5"},"versions":{"1.0.0":{"name":"@electric-otter/bark.js","version":"1.0.0","_id":"@electric-otter/bark.js@1.0.0","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"dist":{"shasum":"9e91b1dc8619f54b54fe0c7cf5e4a0f330719366","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-1.0.0.tgz","fileCount":2,"integrity":"sha512-A1ArTRGjQi52kbv8srJ/5ZnhKmlKZf4BZILmEDCEMNGJnfql9oO9K+0YGy7kpc4Xw/0OoNzDIgOga2B8WkanXQ==","signatures":[{"sig":"MEQCIA2jw6Ntq8k6t4Ez7WPhop4laab4CMjCwj5RP3el2BfcAiBfdgjPI+VBM0FbUS24X4434Bnte2FUPDJ7Qu3IkI/ufQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3631},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_1.0.0_1782858641805_0.48497023321504673","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@electric-otter/bark.js","version":"1.0.1","_id":"@electric-otter/bark.js@1.0.1","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"dist":{"shasum":"03c36a956cb262f1f9358f6b9bd4cfe5cee4fd45","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-1.0.1.tgz","fileCount":3,"integrity":"sha512-0TQd5MpkWSAN0iiaxP2oxz1JwwQ+SB1j8hrTbgviFwpJbhboGZdBCffb23lBfRcIj6kfjvMuWazu0AASmsTbSg==","signatures":[{"sig":"MEYCIQDCnI0c8NG8abJPFgkwHiP/aAlDBZaOat/IXRec98KxxwIhAIi4j9r8DiuG2KaOEkG8VoUgdz9SUdzO2U/Hy1k62KmT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4594},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_1.0.1_1782858817418_0.0009343862196389274","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@electric-otter/bark.js","version":"1.0.2","_id":"@electric-otter/bark.js@1.0.2","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"dist":{"shasum":"a38f10c6568bfe425476fe7c3d72f1de1924898e","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-1.0.2.tgz","fileCount":3,"integrity":"sha512-nnbnE5Y39ThcsvAjBVXJhE4fb6e7KWuhsXkljSr34Pyblnos2j5XaHQ6FU3bDsVYYmJfG6SSkahwFKV9/uFPxw==","signatures":[{"sig":"MEYCIQD5mgbNWDZCulYskD/L/Dz609eiJFGBtV4c+3wBsfymnwIhAOd8sTVctOz8ZdenWCmhYBSjXDYCR+HLcYGtF3YTxoqF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4626},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_1.0.2_1782859105608_0.23537721635459863","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@electric-otter/bark.js","version":"1.0.3","_id":"@electric-otter/bark.js@1.0.3","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"bin":{"bark":"bark.js"},"dist":{"shasum":"29e42424c5eb65b1e17d38e9eae5fcbc879aaf6c","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-1.0.3.tgz","fileCount":3,"integrity":"sha512-CMjwN80S9930abDMv98dApcu61BFX+3/aFr6g6XC/jGBCkzzrIn06DjCWXxi0HAJX6osfJf1xNRbOKmRSJ+msg==","signatures":[{"sig":"MEQCIEIUCP4u9N2sW76/+m6iYZXYM0SJA8spig8P5g49j3oSAiAkv4pplITSCrzlY8qpFOr9aLi0+vfNFrO/JtQlaxg7vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4683},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_1.0.3_1782859516600_0.48370591404864727","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@electric-otter/bark.js","version":"1.0.4","_id":"@electric-otter/bark.js@1.0.4","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"bin":{"bark":"bark.js"},"dist":{"shasum":"df5dcaa9d785e4474a914ca161e0bba45c13679f","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-1.0.4.tgz","fileCount":3,"integrity":"sha512-MvTXtwVAMo7ogE3Pjb+z4AjJikGn3NaaxzSGRVb6LFPof7dKjKoeX7oMhGk8MT2CDyiOuqFQnSwJ8sPxSkWo9Q==","signatures":[{"sig":"MEYCIQCXWt33pY53qrJrMuHxSXKxxQ/YnTuIYk4/VVAHlbmJPQIhAO+yyf8NI3jQATQKp8BPGA6bIu8lL1Q/3ynlRBvb9B6O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5940},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_1.0.4_1782859933476_0.23750844446963915","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@electric-otter/bark.js","version":"1.0.5","_id":"@electric-otter/bark.js@1.0.5","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"bin":{"bark":"bark.js"},"dist":{"shasum":"3d953fe9d1210aff6bb8eb644d9cc08ccff10c2b","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-1.0.5.tgz","fileCount":3,"integrity":"sha512-Ng1LlL7jBQ9j5LHWk+Fc+R1pB7L4k0jlPK2oTr7wAKAi7t+WSPc+Nz2UJ5v9x9wVq37W/w+U/vRndU8YJHWPGw==","signatures":[{"sig":"MEUCIQCvufkrqCH7Y0O9nmsP9wi7dEl5yuDUKdLdG9HSdtzpbQIgK2ugf1lPr5b7FZqXiPpk8Oi/q8aSwwBPzBmuE7Hckg4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6727},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_1.0.5_1782860530735_0.02239293408797538","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@electric-otter/bark.js","version":"1.0.6","_id":"@electric-otter/bark.js@1.0.6","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"bin":{"bark":"bark.js"},"dist":{"shasum":"b1e6d48508518b682f5fb6dbd164e58050d6737f","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-1.0.6.tgz","fileCount":3,"integrity":"sha512-7UoVcHCc/rqlbtQjDWStBnPN9B0VpU5EaLE1GelXeBnwmgKtcQkrQDbPHHDA/WHle9jpIJ7BHkDPDcopVnKwBA==","signatures":[{"sig":"MEUCIQD/SnJMu81S8MFKUlK5ij8tyOrOYCrhXzeCvLn/4/myTAIgZsE6wTElPYGl+Hbwii+ttnzqEnrZwLHaVO+OATHVm0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6903},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_1.0.6_1782860706444_0.7917795656380671","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@electric-otter/bark.js","version":"2.0.0","_id":"@electric-otter/bark.js@2.0.0","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"bin":{"bark":"bark.js"},"dist":{"shasum":"5b137a7b99728932a01476ec472025bd68232c7f","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-2.0.0.tgz","fileCount":3,"integrity":"sha512-lP8vaxcgp6nEJX+SE+bCZ+deAUfsnbQoG7QfJm/njFhA5EAe6JZqC4Oge7Rn1OYafObBd5uM8N0otkjCVM8xRA==","signatures":[{"sig":"MEUCIQCcgM9sxzIf1ELFhFhDCmrAD9chPfkwck+F9puCsDECEwIgI2jXUUDXZ7yMGGE3Kpz3NHJma6LNylTINOOdUvGPLgs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9873},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_2.0.0_1782864042179_0.6959278512115874","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@electric-otter/bark.js","version":"2.0.1","_id":"@electric-otter/bark.js@2.0.1","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"bin":{"bark":"bark.js"},"dist":{"shasum":"0e3676f3ae2f826df697a5189b77f3bc1f251df7","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-2.0.1.tgz","fileCount":3,"integrity":"sha512-S7A0b8O/hmpChA85BWP1Sapg4fDHWfrDx9M8k/IrKDygxhQKuapX1FN2KeVUZ2lQWYAMsWWOvlM4vbu+a03KUQ==","signatures":[{"sig":"MEQCICVzmOEHOs61ei3T3pjEt8CqBpey+uQZqos5KUgXTatBAiBNm5G6SO5QHC/Yk8+f4w1aLftshAr3ESi+s0MUssOfIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11201},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_2.0.1_1782868202363_0.16984120421078108","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@electric-otter/bark.js","version":"2.0.2","_id":"@electric-otter/bark.js@2.0.2","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"bin":{"bark":"bark.js"},"dist":{"shasum":"6b9d3e8a8b265b4127ce57146b944b6f820e4e4c","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-2.0.2.tgz","fileCount":3,"integrity":"sha512-J4UrBdrOawgQEHogfd0hlWXm+xenyg4HBUJ9bRXQSS7GEmtTyI6w6kbrQrIZ6IBs55UvVZO7z7Xdcu4TWtUhzA==","signatures":[{"sig":"MEUCIDOSiPVlbzM2UetwAHrPy9ObilZyhG/Rk95aYw9tolN3AiEA+P4DPbfkJt3/SWltM8EwXJ9AbqCaJq1CwlrgqolWNqg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12764},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_2.0.2_1782904235849_0.11161797368269033","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@electric-otter/bark.js","version":"2.0.3","_id":"@electric-otter/bark.js@2.0.3","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"bin":{"bark":"bark.js"},"dist":{"shasum":"7c81191d2bdc756842ff7aee7ff18220353a577c","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-2.0.3.tgz","fileCount":3,"integrity":"sha512-jFnyVLG4SaNIff/C3fGajAHKR1JLG//ifXfc/Afn1rmZY97AMsai0z9ShaT05nu5CNrMnAoMLFImvt+gMTxYkQ==","signatures":[{"sig":"MEUCIC5kJ7ICjmsVTMSDurZzJjG5tpwLuNONAMuSXT2SQstMAiEA4dmxjr6kPIg9Lfr9CwyXA+CNF/BpCgpFmZ5GT2PpeQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12756},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_2.0.3_1782999537527_0.608521786747463","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@electric-otter/bark.js","version":"2.0.4","_id":"@electric-otter/bark.js@2.0.4","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"bin":{"bark":"bark.js"},"dist":{"shasum":"9e3a164aaabe6836798be6e27eb5a4f481e2461f","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-2.0.4.tgz","fileCount":3,"integrity":"sha512-vMvtQiN206DQFe0mVh+/KzJP4RkU9g4PXFm0lddyIb8EBbDEPyhv7lLMT5ZnxsERe3A9ZSUd4WPd/c+0gUQasw==","signatures":[{"sig":"MEUCIQDhqB53ZOm5HulO3Y5iporSIM1nHLA8Aq1d3ZKUlRy8jAIgdaj84Ow/pCxPhd4Ny/e203p9CBTs9OtfK4Zo6El2ASg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13766},"main":"bark.js","_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"_npmVersion":"11.9.0","description":"Essential web build tools.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"bun":"^1.3.14","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0","htmx.org":"^2.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/bark.js_2.0.4_1783000601999_0.4995897848459723","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@electric-otter/bark.js","version":"2.0.5","description":"Essential web build tools.","main":"bark.js","bin":{"bark":"bark.js"},"dependencies":{"bun":"^1.3.14","htmx.org":"^2.0.10","react":"^19.2.7","serve":"^14.2.6","svelte":"^5.56.4","terser":"^5.48.0"},"_id":"@electric-otter/bark.js@2.0.5","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-pv1TWmD0JxR9z37fGvXW9BCV7uSmdGqZ4haBXNZXonKqvtatATvs0O3vvKdUDQsPfDnfws2Id4DNRPXuos0Y7Q==","shasum":"ea0052b75840034ddf8c06ac8b66951fb66cf7e5","tarball":"https://registry.npmjs.org/@electric-otter/bark.js/-/bark.js-2.0.5.tgz","fileCount":3,"unpackedSize":14255,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDXAvap+or2Jj0r/3ETskYIiQgGkcNkcSy0LY1uZ28pywIhAMGEe0HXc/hgF5rBKlLL9mc80gZqk28ZHW2mZ7b1nL0m"}]},"_npmUser":{"name":"electric-otter","email":"electric-otter1@proton.me"},"directories":{},"maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bark.js_2.0.5_1783000710774_0.7188561720935394"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-30T22:30:41.641Z","modified":"2026-07-02T13:58:31.013Z","1.0.0":"2026-06-30T22:30:41.969Z","1.0.1":"2026-06-30T22:33:37.558Z","1.0.2":"2026-06-30T22:38:25.733Z","1.0.3":"2026-06-30T22:45:16.796Z","1.0.4":"2026-06-30T22:52:13.603Z","1.0.5":"2026-06-30T23:02:10.873Z","1.0.6":"2026-06-30T23:05:06.566Z","2.0.0":"2026-07-01T00:00:42.324Z","2.0.1":"2026-07-01T01:10:02.549Z","2.0.2":"2026-07-01T11:10:35.977Z","2.0.3":"2026-07-02T13:38:57.695Z","2.0.4":"2026-07-02T13:56:42.136Z","2.0.5":"2026-07-02T13:58:30.913Z"},"description":"Essential web build tools.","maintainers":[{"name":"electric-otter","email":"electric-otter1@proton.me"}],"readme":"# Bark.js\n\nBark.js is a popular JS library for website builds and website frameworks. It provides a simple CLI for serving static files and compiling local C/C++ code to browser-ready JavaScript with Emscripten.\n\nIt includes:\n\n- HTMX\n- Svelte\n- React\n- `serve`, for local browser testing\n- C and C++ compilation to JavaScript through Emscripten\n- JS minification and project bundling\n\n## Install\n\nInstall locally in a project:\n\n```sh\nnpm install @electric-otter/bark.js\n```\n\nOr install globally to use the CLI from anywhere:\n\n```sh\nnpm install -g @electric-otter/bark.js\n```\n\n## CLI Usage\n\nIf installed locally, run commands with `npx bark`. If installed globally, run `bark` directly.\n\n### Build\n\nBuild C and C++ files into JavaScript:\n\n```sh\nbark build\n```\n\nThe build command finds local `.c`, `.cpp`, `.cxx`, `.h`, `.hpp`, and `.hxx` files, follows local header includes recursively, supports extensionless includes such as `#include <name>` by resolving `name.h`, `name.hpp`, or `name.hxx`, compiles them to a self-contained `output.js`, minifies the result to `output.min.js`, then removes `output.js` and the generated `emsdk` folder. The compiled payload is baked into `output.min.js` instead of emitted as a separate `.wasm` file.\n\n### Bundle\n\nBundle all files into a `.build` folder with JS minification:\n\n```sh\nbark bundle\n```\n\nThe bundle command finds every file in the current directory (excluding `.build`, `.git`, `emsdk`, and `node_modules`), creates a `.build` folder mirroring the project structure, minifies `.js` and `.mjs` files with terser, and copies all other files as-is. A summary is printed on completion.\n\n### Header Builds\n\nBark.js also compiles discovered headers through a generated standalone source file. This catches header errors early, even when a project has no direct `.c` or `.cpp` source that includes every local header.\n\nIn Bark.js 2.0.2, the standalone header compile supports headers with common prerequisite assumptions:\n\n- `certs.h` is compiled after including BearSSL types and macros with `#include <bearssl.h>`.\n- `GL1Funcs.h` is compiled after defining OpenGL ES types through `#include <GLES/gl.h>` and providing a default `GL_FUNC` macro when the project has not already defined one.\n\nThese compatibility preludes are only added to the generated standalone header source. Project source files and original headers are not rewritten.\n\nUse `--SkipErrors` to continue without failing the command when build errors occur:\n\n```sh\nbark build --SkipErrors\n```\n\nThe CLI checks npm for a newer Bark.js release each time it runs and prints an update command when one is available.\n\n### Serve\n\nServe the current folder for testing:\n\n```sh\nbark serve\n```\n\n### Help\n\nShow CLI help:\n\n```sh\nbark help\n```\n\nLocal install examples:\n\n```sh\nnpx bark build\nnpx bark build --SkipErrors\nnpx bark bundle\nnpx bark serve\nnpx bark help\n```\n\n## Notes\n\n- Bark.js creates or uses an `emsdk` folder while building.\n- Build output is written to `output.min.js`.\n- Bundle output is written to `.build/`.\n- Bark.js 2.0.2 improves standalone header compilation for BearSSL certificate headers and OpenGL function-list headers.\n","readmeFilename":"README.md"}