Skip to content

Doesn't work: causes compile errors even with basic example #2

@TylerRick

Description

@TylerRick

I was really excited to see a nice workaround for the lack of support for dynamic elements in Svelte.

But as soon as I even add this line to my project:

import { Input } from 'svelte-elements

, I got dozens of errors like this:

ERROR in ./node_modules/svelte-elements/dist/svelte-elements.es.js 85:6-26
"export 'add_binding_callback' was not found in 'svelte/internal'
    at HarmonyImportSpecifierDependency._getErrors (node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js:109:11)
    at HarmonyImportSpecifierDependency.getErrors (node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js:68:16)
    at Compilation.reportDependencyErrorsAndWarnings (node_modules/webpack/lib/Compilation.js:1463:22)
    at node_modules/webpack/lib/Compilation.js:1258:10
    at AsyncSeriesHook.eval [as callAsync] (eval at create (node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:15:1)
    at AsyncSeriesHook.lazyCompileHook (node_modules/tapable/lib/Hook.js:154:20)
    at Compilation.finish (node_modules/webpack/lib/Compilation.js:1253:28)
    at node_modules/webpack/lib/Compiler.js:672:17
    at _done (eval at create (node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:9:1)
    at eval (eval at create (node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:104:22)

I tried to reproduce in a sandbox and got errors there too, though they were different errors:

Cannot read property 'ctx' of null
get_slot_context
/node_modules/svelte/internal/index.mjs:67:18
  64 | function get_slot_context(definition, ctx, $$scope, fn) {
  65 |     return definition[1] && fn
  66 |         ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))
> 67 |         : $$scope.ctx;
     |                  ^
  68 | }
  69 | function get_slot_changes(definition, $$scope, dirty, fn) {
  70 |     if (definition[2] && fn) {

create_slot
/node_modules/svelte/internal/index.mjs:60:25
  57 | }
  58 | function create_slot(definition, ctx, $$scope, fn) {
  59 |     if (definition) {
> 60 |         const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);
     |                         ^
  61 |         return definition[0](slot_ctx);
  62 |     }
  63 | }

...

What am I doing wrong? How do I get it to work? Is it just not compatible with current version of svelte?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions