Skip to content

Scripts without import/export appear to be duplicated #104

Open

Description

@edemaine

Playground link

image

As described by @modderme123 in #103 (comment):

This is an issue with files that don't have imports or exports and are then treated as a global script file. One trick might be to add a tsconfig flag to ignore output_dont_import.tsx?

I tried adding an exclude option to languages.typescript.typescriptDefaults.setCompilerOptions (in src/components/editor/setupSolid.ts) but it doesn't seem to fix the problem.

I previously wrote:

It seems that src/components/editor/monacoTabs.tsx's MonacoTabs creates two models: the model at the top of the function and the model for each tab in tabs. I'm seeing the same source code in both the root model and a tab, which is presumably the source of the problem. [...] Could we remove one of the duplicates (presumably the top-level model?)?

Activity

  1. edemaine commented on May 10, 2022

    @edemaine
    ContributorAuthor

    Amusingly, I think #100 will fix this, because it adds an import to all .tsx files. Thanks @otonashixav. 😄

  2. milomg commented on May 15, 2022

    @milomg
    Member

    Hmm, I'm having a hard time reproducing this. Can you confirm that the playground link above still works for you?

  3. edemaine commented on May 15, 2022

    @edemaine
    ContributorAuthor

    Hmm, it seems to be nondeterministic, and possibly failing only with nonshortened Playground link. Try loading that link and shift-reloading once or twice. But definitely still happens sometimes I'm afraid.

  4. milomg commented on Jun 18, 2022

    @milomg
    Member

    I just realized I may never have explained what the code at the top of the file is: that is the compiled output that you see in the output tab. Currently that is what happens when all of the tabs run through rollup (although in the beta, that will just be what happens when the current tab runs through babel)

  5. edemaine commented on Jun 20, 2022

    @edemaine
    ContributorAuthor

    I'm not quite sure what you're referring to. Top of what file?

    FWIW, I just reproduced this bug by loading the Playground link, and then appending some blank lines at the end of the file. (It didn't reproduce upon reloading anymore.)

  6. milomg commented on Jun 20, 2022

    @milomg
    Member

    Top of the monacoTabs file. the reason you are seeing two duplicate models is because one of those models is the full bundled output (which happens to be the same if there is only one tab)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions