thetarnav / solid-devtools

Library of developer tools, reactivity debugger & Devtools Chrome extension for visualizing SolidJS reactivity graph
https://chrome.google.com/webstore/detail/solid-devtools/kmcfjchnmmaeeagadbhoofajiopoceel
MIT License
536 stars 21 forks source link

@solid-devtools/debugger seems to be marked as side-effect free when it shouldn't be #294

Open Alloyed opened 5 months ago

Alloyed commented 5 months ago

output from esbuild:

▲ [WARNING] Ignoring this import because "../../node_modules/@solid-devtools/debugger/dist/setup.js" was marked as having no side effects [ignored-bare-import]

    src/Ingame.tsx:16:7:
      16 │ import '@solid-devtools/debugger/setup';
         ╵        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  "sideEffects" is false in the enclosing "package.json" file:

    ../../node_modules/@solid-devtools/debugger/package.json:17:2:
      17 │   "sideEffects": false,
         ╵   ~~~~~~~~~~~~~

https://github.com/thetarnav/solid-devtools/blob/main/packages/debugger/src/setup.ts#L53

This looks like a side effect to me. You could either move this entire body of code into a "injectDevtools" function (I think this is what react does) or just mark the entire package as having side effects in the package.json.

EDIT: workaround: https://esbuild.github.io/api/#ignore-annotations

thetarnav commented 5 months ago

injectDevtools sounds good

I think I wanted to simplify the setup by having to „just import”