tabler / tabler-icons

A set of over 5700 free MIT-licensed high-quality SVG icons for you to use in your web projects.
https://tabler.io/icons
MIT License
18.24k stars 913 forks source link

Will not work at all with Solid Start #536

Closed drgarlic closed 7 months ago

drgarlic commented 1 year ago

Hi,

Love the work, the lib and the icons but I wanted to switch from SolidJS to Solid Start recently and I unfortunately ran into an issue with this library where I get an error even with the simplest way of using an icon

import { Icon123 } from "@tabler/icons-solidjs";

export default () => {
  return <Icon123 />;
};

Repro: https://github.com/gawlk/tabler-icon-solid-start-issue

The error:

TypeError: Cannot read properties of undefined (reading 'has')
    at parseClass (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/h/dist/h.cjs:77:35)
    at item (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/h/dist/h.cjs:23:17)
    at ret (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/h/dist/h.cjs:15:27)
    at resolveChildren (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:167:82)
    at /Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:145:33
    at createMemo (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:74:9)
    at children (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:145:16)
    at /Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:184:14
    at createMemo (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:74:9)
    at provider (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:180:12)
    at Proxy.createComponent (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:281:15)
    at children (/node_modules/.pnpm/@solidjs+router@0.7.0_solid-js@1.6.11/node_modules/@solidjs/router/dist/components.jsx:98:46)
    at Show (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:346:68)
    at Proxy.createComponent (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:281:15)
    at Routes (/node_modules/.pnpm/@solidjs+router@0.7.0_solid-js@1.6.11/node_modules/@solidjs/router/dist/components.jsx:94:32)
    at Proxy.createComponent (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:281:15)
    at get children [as children] (/src/root.tsx:41:45)
    at get children [as children] (/node_modules/.pnpm/solid-start@0.2.21_6tbv3hhr7wlpclrfsxnrwdmhry/node_modules/solid-start/error-boundary/ErrorBoundary.tsx:32:20)
    at /Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:391:24
    at createMemo (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:74:9)
    at ErrorBoundary (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:387:3)
    at Proxy.createComponent (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:281:15)
    at ErrorBoundary (/node_modules/.pnpm/solid-start@0.2.21_6tbv3hhr7wlpclrfsxnrwdmhry/node_modules/solid-start/error-boundary/ErrorBoundary.tsx:15:32)
    at Proxy.createComponent (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:281:15)
    at get children [as children] (/src/root.tsx:33:44)
    at get children [as children] (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:591:24)
    at /Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:184:35
    at /Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:145:49
    at createMemo (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:74:9)
    at children (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:145:16)
    at /Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:184:14
    at createMemo (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:74:9)
    at provider (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:180:12)
    at createComponent (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:281:15)
    at /Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:587:14
    at runWithOwner (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:156:12)
    at runSuspense (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:586:12)
    at Suspense (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:596:15)
    at Proxy.createComponent (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:281:15)
    at get children [as children] (/src/root.tsx:31:41)
    at eval (/node_modules/.pnpm/solid-start@0.2.21_6tbv3hhr7wlpclrfsxnrwdmhry/node_modules/solid-start/root/Document.tsx:41:79)
    at resolveSSRNode (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/web/dist/server.cjs:628:47)
    at Proxy.ssrElement (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/web/dist/server.cjs:559:21)
    at Body (/node_modules/.pnpm/solid-start@0.2.21_6tbv3hhr7wlpclrfsxnrwdmhry/node_modules/solid-start/root/Document.tsx:41:34)
    at Proxy.createComponent (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:281:15)
    at get children [as children] (/src/root.tsx:29:33)
    at Proxy.ssrElement (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/web/dist/server.cjs:533:112)
    at Html (/node_modules/.pnpm/solid-start@0.2.21_6tbv3hhr7wlpclrfsxnrwdmhry/node_modules/solid-start/root/Document.tsx:24:34)
    at Proxy.createComponent (/Users/x/Developer/solid/tabler-icon-solid-start-issue/node_modules/.pnpm/solid-js@1.6.11/node_modules/solid-js/dist/server.cjs:281:15)
    at Root (/src/root.tsx:15:32)
andrewrosss commented 1 year ago

Also getting this error. Mine is a new project with no custom config.

@tabler/icons-solidjs 2.5.0
solid-js 1.6.11
solid-start 0.2.21
andrewrosss commented 1 year ago

So it seems like this error has to do with some combination of: solid-start doing SSR, solid's hyperscript setup, and this package.

It's perhaps not ideal, but if you can render the component only on the client everything seems to work.

What seems to be working for me is:

  1. Re-export the icons you want as default exports in your package (this is in service of step 2 below), for example:
// ~/components/tabler/icon-chevron-down
import { IconChevronDown } from "@tabler/icons-solidjs";
export default IconChevronDown;
  1. Import the re-exported component using the experimental unstable_clientOnly from solid-start, for example:
const IconChevronDown = unstable_clientOnly(() => import("~/components/tabler/icon-chevron-down"));

// snip ...

const SomeComponent = () => {
  return (
    <div>
      <IconChevronDown />
    </div>
  )
}

The re-export is because it seems like unstable_clientOnly expects the imported module to define a default export.

drgarlic commented 1 year ago

Thanks for your research @andrewrosss but yeah like you said it really isn't ideal.

Another alternative for now that works is using tabler icons via unplugin-icons

andrewrosss commented 1 year ago

@gawlk Interesting I didn't know about unplug-icons. Despite the unstable_clientOnly work-around, I started getting weird build errors in prod. For now I'm using tabler icons via solid-icons which is working for me locally and in prod :)

andrewrosss commented 1 year ago

For others (or future me) I wonder if this issue in the solid-start repo is relevant here.

robertvanhoesel commented 1 year ago

It should probably work when switching to JSX or an InnerHtml based component.

From SolidJs discord

Coder — 01/23/2023 7:25 PM tabler-icons now has support for solidjs https://github.com/tabler/tabler-icons foolswisdom — 01/23/2023 7:26 PM Nice I see it uses hyperscript mode - import h from "solid-js/h";. Anyone know if this is SSR safe? ryansolid — 01/23/2023 7:30 PM It wouldn't be Unless they put guards around it to not server render and not hydrate foolswisdom — 01/23/2023 7:35 PM It needs to use JSX and not use innerHTML prop to be safe, right? ryansolid — 01/23/2023 7:36 PM innerHTML is fine I mean beyond typical concerns with innerHTML Since we don't escape it foolswisdom — 01/23/2023 7:37 PM Oh. I didn't realize it worked server side ryansolid — 01/23/2023 7:52 PM I mean it is a string and create strings.. so it works. On the client we just skip it during hydration.

knpwrs commented 1 year ago

I just ran into this yesterday. In addition to the client-side error Cannot read properties of undefined (reading 'has') I'm seeing an error on build:

❯ npm run build

> build
> solid-start build

 solid-start build
 version  0.2.23
 adapter  node

solid-start building client...
vite v4.1.4 building for production...
✓ 3533 modules transformed.
Inspect report generated at /Users/knpwrs/Downloads/solid-tabler-bug/.solid/inspect
dist/public/manifest.json                      0.79 kB
dist/public/ssr-manifest.json                  1.75 kB
dist/public/assets/entry-client-d870915a.css   0.38 kB │ gzip:  0.27 kB
dist/public/assets/_...404_-12c7693a.js        0.56 kB │ gzip:  0.38 kB
dist/public/assets/index-dd423e7f.js           3.35 kB │ gzip:  1.57 kB
dist/public/assets/entry-client-1a6e62f0.js   37.59 kB │ gzip: 14.52 kB
solid-start client built in: 2.184s

solid-start building server...
vite v4.1.4 building SSR bundle for production...
✓ 56 modules transformed.
Inspect report generated at /Users/knpwrs/Downloads/solid-tabler-bug/.solid/inspect
.solid/server/manifest.json     0.18 kB
.solid/server/entry-server.js  55.93 kB
solid-start server built in: 425.981ms

file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:2105
        base = Object.assign(new Error(base.message), base);
                             ^

Error [RollupError]: "assign" is not exported by "node_modules/solid-js/web/dist/server.js", imported by "node_modules/solid-js/h/dist/h.js".
    at error (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:2105:30)
    at Module.error (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:13174:16)
    at Module.traceVariable (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:13559:29)
    at ModuleScope.findVariable (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:12061:39)
    at Identifier.bind (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:7933:40)
    at Property.bind (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:5726:23)
    at ObjectExpression.bind (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:5722:28)
    at CallExpression.bind (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:5722:28)
    at CallExpression.bind (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:9470:15)
    at VariableDeclarator.bind (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:5726:23)
    at VariableDeclaration.bind (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:5722:28)
    at Program.bind (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:5722:28)
    at Module.bindReferences (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:13170:18)
    at Graph.sortModules (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:24505:20)
    at Graph.build (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:24389:14)
    at async file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:25406:13
    at async catchUnfinishedHookActions (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:24559:20)
    at async rollupInternal (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/node_modules/rollup/dist/es/shared/node-entry.js:25401:5)
    at async Object.build (file:///Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/index.js:38:22) {
  binding: 'assign',
  code: 'MISSING_EXPORT',
  exporter: '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-js/web/dist/server.js',
  id: '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-js/h/dist/h.js',
  url: 'https://rollupjs.org/troubleshooting/#error-name-is-not-exported-by-module',
  pos: 17,
  loc: {
    column: 17,
    file: '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-js/h/dist/h.js',
    line: 1
  },
  frame: "1: import { spread, assign, insert, createComponent, dynamicProperty, SVGElements } from 'solid-js/web';\n" +
    '                    ^\n' +
    '2: \n' +
    '3: const $ELEMENT = Symbol("hyper-element");',
  watchFiles: [
    '/Users/knpwrs/Downloads/solid-tabler-bug/.solid/server/server.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/.solid/server/entry-server.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/dist/public/route-manifest.json',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start/node/globals.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start-node/server.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-js/dist/server.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-js/web/dist/server.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/solid-start/node/fetch.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/polka/build.mjs',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/tabler-icons-solidjs.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/sirv/build.mjs',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/compression/index.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/createSolidComponent.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@polka/url/build.mjs',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/Icon3dCubeSphere.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/Icon3dCubeSphereOff.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/Icon360.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/Icon24Hours.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/Icon3dRotate.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/Icon2fa.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAbacusOff.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAB2.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/Icon360View.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconABOff.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAB.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAbc.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAbacus.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconActivity.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAccessible.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAccessPointOff.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAccessibleOff.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAccessPoint.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAccessibleOffFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAdCircle.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAd.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAd2.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAdOff.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAdFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconActivityHeartbeat.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAdCircleOff.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAdjustmentsAlt.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAdjustments.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAddressBook.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAerialLift.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAdjustmentsFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAddressBookOff.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAdjustmentsOff.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/Icon123.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAirBalloon.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAirConditioning.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAffiliate.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlarmOff.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAirConditioningDisabled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlarmFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlarmMinusFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlarmPlusFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAffiliateFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAdjustmentsHorizontal.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlarm.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlarmMinus.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlbumOff.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlertCircleFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlertOctagon.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlarmSnooze.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlertCircle.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlarmSnoozeFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlarmPlus.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlienFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlien.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxBottomCenter.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlbum.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlertTriangle.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlertTriangleFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlertOctagonFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxBottomLeft.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxBottomCenterFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxBottomRightFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxBottomRight.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxCenterMiddle.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxLeftTopFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxLeftTop.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxLeftBottom.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxLeftBottomFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxLeftMiddleFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxTopCenterFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxLeftMiddle.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxRightBottom.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxRightMiddle.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxTopRight.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxRightTop.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxTopCenter.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxRightBottomFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxTopRightFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxRightTopFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxTopLeftFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignLeft.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignCenter.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxTopLeft.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignBoxBottomLeftFilled.js',
    '/Users/knpwrs/Downloads/solid-tabler-bug/node_modules/@tabler/icons-solidjs/dist/esm/icons/IconAlignJustified.js',
    ... 3443 more items
  ]
}

Node.js v19.6.1
zsh: exit 1     npm run build
github-actions[bot] commented 7 months ago

This issue is stale because it has been open for 360 days with no activity.

github-actions[bot] commented 7 months ago

This issue was closed because it has been inactive for 14 days since being marked as stale.

pedrodesu commented 3 months ago

This still gives out the same error with the latest versions of solid-js, @solidjs/start and @tabler/icons-solidjs. However if SSR is turned off (export default defineConfig({ ssr: false }) in app.config.ts), it works.

pedrodesu commented 3 months ago

In the same fashion, one can just keep SSR on and explicitly import the icons via clientOnly. This option isn't as idiomatic, however.

Like so:

const IconBrandGithub = clientOnly(async () => ({ default: (await import('@tabler/icons-solidjs')).IconBrandGithub }))