Skip to content

Conversation

@ankddev
Copy link
Contributor

@ankddev ankddev commented Aug 14, 2025

Closes #2003

Description

Add integration test for TS type declarations. It compiles project and then runs tsc with --noEmit flag, so it won't generate JS files.

Copy link
Member

@lpil lpil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! I've left a bunch of comments inline

When you are ready for a review please un-draft this PR and tag me for a review. Thank you!

.PHONY: build
test:
cargo run --quiet -- build
tsc ./build/dev/javascript/typescript_declarations/typescript_declarations.d.mts --noEmit --lib es2015
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we write this in a way where they don't need to install tsc globally? Perhaps deno can be used?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to use it and it seems that tsc and deno process files in different way so this doesn't work, sadly.

$ deno check ./main.ts
Check file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/main.ts
TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'BitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'CustomType'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Empty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Error'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'NonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Ok'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'UtfCodepoint'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'codepointBits'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'divideFloat'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'divideInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'isEqual'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'prepend'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'remainderInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'sizedFloat'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'sizedInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'stringBits'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'toBitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'toList'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///data/data/com.termux/files/home/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

Found 20 errors.

error: Type checking failed.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, what do you mean? Deno isn't used in this test?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lpil I didn't commit this yet, but tested it locally. I can commit it then if it makes sense

@lpil lpil marked this pull request as draft August 17, 2025 10:14
@ankddev ankddev marked this pull request as ready for review August 18, 2025 08:34
@ankddev
Copy link
Contributor Author

ankddev commented Aug 18, 2025

@lpil I fixed all things you mentioned. Niw test includes more code and there is TS file which imports generated code and type-checking works.

One thing that I don't know what to do with is tsc requirement. I tried to use Deno and found following:

  • When using deno run it seems not to perform type checking
  • When using deno check it performs analyzis in different way than tsc and gives many errors (see review comment above)
    So, I don't know what we should do.

@ankddev ankddev requested a review from lpil August 18, 2025 08:41
Copy link
Member

@lpil lpil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you! Looking really nice. I've left some comments inline which we can use to simplify the tests and make them easier to understand.

Sorry for taking so long, I'm not sure how that happened.

@lpil lpil marked this pull request as draft December 4, 2025 13:53
@ankddev
Copy link
Contributor Author

ankddev commented Dec 5, 2025

@lpil Hello!

Sorry for taking so long, I'm not sure how that happened.

Nothing at all!

I rewrote th entire test, I belive that now it satisfies requirements. Also, I tried to experiment with different commands:

tsc ./main.ts --noEmit --lib es2015,dom --strict

When everything is right:

build/dev/javascript/prelude.d.mts:68:3 - error TS7013: Construct signature, which lacks return-type annotation, implicitly has an 'any' return type.

68   new(buffer: Uint8Array, bitSize?: number, bitOffset?: number);
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Found 1 error in build/dev/javascript/prelude.d.mts:68

When there are wrong types:

build/dev/javascript/prelude.d.mts:68:3 - error TS7013: Construct signature, which lacks return-type annotation, implicitly has an 'any' return type.

68   new(buffer: Uint8Array, bitSize?: number, bitOffset?: number);
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

main.ts:6:23 - error TS1360: Type 'number' does not satisfy the expected type 'string'.

6 gleam.const_int_alias satisfies string
                        ~~~~~~~~~


Found 2 errors in 2 files.

Errors  Files
     1  build/dev/javascript/prelude.d.mts:68
     1  main.ts:6

deno run main.ts

Doesn't print anything even with errors since doesn't type check

deno run --check main.ts

When everything's fine:

Check file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/main.ts
TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'BitArray$BitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'BitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'CustomType'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Empty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Error'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$Empty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty$first'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty$rest'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$isEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$isNonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'NonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Ok'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Error$0'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Error'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Ok$0'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Ok'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$isError'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$isOk'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'UtfCodepoint'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'codepointBits'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'divideFloat'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'divideInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'isEqual'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'prepend'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'remainderInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'sizedFloat'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'sizedInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'stringBits'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'toBitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'toList'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2315 [ERROR]: Type 'List' is not generic.
export function all<FF>(list: _.List<Option$<FF>>): Option$<_.List<FF>>;
                              ~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:19:31

TS2315 [ERROR]: Type 'List' is not generic.
export function all<FF>(list: _.List<Option$<FF>>): Option$<_.List<FF>>;
                                                            ~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:19:61

TS2315 [ERROR]: Type 'Result' is not generic.
export function to_result<GB, GE>(option: Option$<GB>, e: GE): _.Result<GB, GE>;
                                                               ~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:25:64

TS2315 [ERROR]: Type 'Result' is not generic.
export function from_result<GH>(result: _.Result<GH, any>): Option$<GH>;
                                        ~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:27:41

TS2315 [ERROR]: Type 'List' is not generic.
export function values<HL>(options: _.List<Option$<HL>>): _.List<HL>;
                                    ~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:49:37

TS2315 [ERROR]: Type 'List' is not generic.
export function values<HL>(options: _.List<Option$<HL>>): _.List<HL>;
                                                          ~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:49:59

TS7013 [ERROR]: Construct signature, which lacks return-type annotation, implicitly has an 'any' return type.
  new(buffer: Uint8Array, bitSize?: number, bitOffset?: number);
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/prelude.d.mts:68:3

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'BitArray$BitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'BitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'CustomType'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Empty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Error'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$Empty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty$first'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty$rest'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$isEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$isNonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'NonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Ok'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Error$0'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Error'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Ok$0'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Ok'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$isError'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$isOk'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'UtfCodepoint'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'codepointBits'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'divideFloat'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'divideInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'isEqual'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'prepend'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'remainderInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'sizedFloat'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'sizedInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'stringBits'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'toBitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'toList'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2315 [ERROR]: Type 'List' is not generic.
export const const_string_list: _.List<string>;
                                ~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/typescript_declarations.d.mts:40:33

TS2315 [ERROR]: Type 'List' is not generic.
export const const_int_list: _.List<number>;
                             ~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/typescript_declarations.d.mts:42:30

TS2315 [ERROR]: Type 'List' is not generic.
gleam.const_int_list satisfies List<number>
                               ~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/main.ts:7:32

TS2315 [ERROR]: Type 'List' is not generic.
gleam.const_string_list satisfies List<string>
                                  ~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/main.ts:8:35

Found 78 errors.

error: Type checking failed.

  info: The program failed type-checking, but it still might work correctly.
  hint: Re-run with --no-check to skip type-checking.

Stack backtrace:
   0: node_api_get_module_file_name
   1: node_api_get_module_file_name
   2: simdutf::get_active_implementation
   3: uv_mutex_destroy
   4: uv_mutex_destroy
   5: uv_mutex_destroy
   6: uv_mutex_destroy
   7: uv_mutex_destroy
   8: uv_mutex_destroy
   9: uv_mutex_destroy
  10: uv_mutex_destroy
  11: simdutf::get_active_implementation
  12: BaseThreadInitThunk
  13: RtlUserThreadStart

When there's error:

deno run --check main.ts
Check file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/main.ts
TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'BitArray$BitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'BitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'CustomType'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Empty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Error'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$Empty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty$first'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty$rest'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$isEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$isNonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'NonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Ok'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Error$0'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Error'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Ok$0'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Ok'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$isError'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$isOk'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'UtfCodepoint'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'codepointBits'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'divideFloat'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'divideInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'isEqual'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'prepend'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'remainderInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'sizedFloat'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'sizedInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'stringBits'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'toBitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'toList'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam.d.mts:2:1

TS2315 [ERROR]: Type 'List' is not generic.
export function all<FF>(list: _.List<Option$<FF>>): Option$<_.List<FF>>;
                              ~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:19:31

TS2315 [ERROR]: Type 'List' is not generic.
export function all<FF>(list: _.List<Option$<FF>>): Option$<_.List<FF>>;
                                                            ~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:19:61

TS2315 [ERROR]: Type 'Result' is not generic.
export function to_result<GB, GE>(option: Option$<GB>, e: GE): _.Result<GB, GE>;
                                                               ~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:25:64

TS2315 [ERROR]: Type 'Result' is not generic.
export function from_result<GH>(result: _.Result<GH, any>): Option$<GH>;
                                        ~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:27:41

TS2315 [ERROR]: Type 'List' is not generic.
export function values<HL>(options: _.List<Option$<HL>>): _.List<HL>;
                                    ~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:49:37

TS2315 [ERROR]: Type 'List' is not generic.
export function values<HL>(options: _.List<Option$<HL>>): _.List<HL>;
                                                          ~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/gleam_stdlib/gleam/option.d.mts:49:59

TS7013 [ERROR]: Construct signature, which lacks return-type annotation, implicitly has an 'any' return type.
  new(buffer: Uint8Array, bitSize?: number, bitOffset?: number);
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/prelude.d.mts:68:3

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'BitArray$BitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'BitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'CustomType'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Empty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Error'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$Empty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty$first'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty$rest'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$NonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$isEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List$isNonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'List'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'NonEmpty'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Ok'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Error$0'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Error'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Ok$0'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$Ok'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$isError'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result$isOk'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'Result'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'UtfCodepoint'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'codepointBits'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'divideFloat'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'divideInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'isEqual'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'prepend'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'remainderInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'sizedFloat'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'sizedInt'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'stringBits'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'toBitArray'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2308 [ERROR]: Module "../prelude.mjs" has already exported a member named 'toList'. Consider explicitly re-exporting to resolve the ambiguity.
export type * from "../prelude.d.mts";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/gleam.d.mts:2:1

TS2315 [ERROR]: Type 'List' is not generic.
export const const_string_list: _.List<string>;
                                ~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/typescript_declarations.d.mts:40:33

TS2315 [ERROR]: Type 'List' is not generic.
export const const_int_list: _.List<number>;
                             ~~~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/build/dev/javascript/typescript_declarations/typescript_declarations.d.mts:42:30

TS1360 [ERROR]: Type 'number' does not satisfy the expected type 'string'.
gleam.const_int_alias satisfies string
                      ~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/main.ts:6:23

TS2315 [ERROR]: Type 'List' is not generic.
gleam.const_int_list satisfies List<number>
                               ~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/main.ts:7:32

TS2315 [ERROR]: Type 'List' is not generic.
gleam.const_string_list satisfies List<string>
                                  ~~~~~~~~~~~~
    at file:///C:/Users/user/rustroverprojects/gleam/test/typescript_declarations/main.ts:8:35

Found 78 errors.

error: Type checking failed.

  info: The program failed type-checking, but it still might work correctly.
  hint: Re-run with --no-check to skip type-checking.

Stack backtrace:
   0: node_api_get_module_file_name
   1: node_api_get_module_file_name
   2: simdutf::get_active_implementation
   3: uv_mutex_destroy
   4: uv_mutex_destroy
   5: uv_mutex_destroy
   6: uv_mutex_destroy
   7: uv_mutex_destroy
   8: uv_mutex_destroy
   9: uv_mutex_destroy
  10: uv_mutex_destroy
  11: simdutf::get_active_implementation
  12: BaseThreadInitThunk
  13: RtlUserThreadStart

bun run main.ts

Doesn't print anything even with errors


Currently, I didn't change code, so it uses tsc as before. What are your thoughts on this?

@ankddev ankddev marked this pull request as ready for review December 5, 2025 15:32
@ankddev ankddev requested a review from lpil December 5, 2025 15:32
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

Successfully merging this pull request may close these issues.

Add integration test for typescript type definitions (d.ts)

3 participants