Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scripts without import/export appear to be duplicated #104

Open
edemaine opened this issue May 10, 2022 · 6 comments
Open

Scripts without import/export appear to be duplicated #104

edemaine opened this issue May 10, 2022 · 6 comments

Comments

@edemaine
Copy link
Contributor

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?)?

@edemaine
Copy link
Contributor Author

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

@modderme123
Copy link
Member

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

@edemaine
Copy link
Contributor Author

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.

@modderme123
Copy link
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)

@edemaine
Copy link
Contributor Author

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.)

@modderme123
Copy link
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
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants