v0.1.1
GoScript v0.1.1
Go to TypeScript transpiler release.
Changelog
Features
- 696fa7c: feat(gotest): support short test mode (@paralin)
- b3d41b1: feat(test): run package tests through goscript (@paralin)
Bug Fixes
- 028a3f8: fix(compiler): accept async callbacks in bodyless declarations (@paralin)
- 56a3a96: fix(compiler): add goscript build tag (@paralin)
- 3ec0169: fix(compiler): address architecture review findings (@paralin)
- a4548f2: fix(compiler): alias shadowed range variables (@paralin)
- 30346bc: fix(compiler): alias short declaration shadows (@paralin)
- 317db8e: fix(compiler): allow nullable named receivers (@paralin)
- 1929e11: fix(compiler): allow reassigned value receivers (@paralin)
- 17efdd9: fix(compiler): assign package vars through setters (@paralin)
- 15f35ea: fix(compiler): avoid import alias shadowing (@paralin)
- 3f96e21: fix(compiler): avoid map default name shadows (@paralin)
- 67f15aa: fix(compiler): avoid struct clone method collisions (@paralin)
- fa619f1: fix(compiler): avoid type switch self shadowing (@paralin)
- 9fd87bf: fix(compiler): await async callback parameters (@paralin)
- 86ad65f: fix(compiler): await async function fields (@paralin)
- c849ee8: fix(compiler): await function-typed callbacks (@paralin)
- b0b80ae: fix(compiler): await generic callback parameters (@paralin)
- 891aa05: fix(compiler): await imported package initializers (@paralin)
- 688a22a: fix(compiler): await indexed function values (@paralin)
- a6fe400: fix(compiler): await outer function literal calls (@paralin)
- 272680d: fix(compiler): await promoted override methods (@paralin)
- 84fd9b4: fix(compiler): bind address-taken parameters (@paralin)
- de3a6a1: fix(compiler): cast assignable interfaces (@paralin)
- 6375426: fix(compiler): cast generic call results (@paralin)
- 9e043a1: fix(compiler): compare concrete values as interfaces (@paralin)
- b8c55cf: fix(compiler): contextualize complex returns (@paralin)
- 9b70f74: fix(compiler): convert named struct aliases (@paralin)
- 9d8db0f: fix(compiler): convert numeric equality operands (@paralin)
- cd8ef47: fix(compiler): convert tuple assignment targets (@paralin)
- 0a3db14: fix(compiler): convert tuple return results (@paralin)
- 5553c7f: fix(compiler): declare named function literal results (@paralin)
- 2171810: fix(compiler): dereference array pointers for operations (@paralin)
- cfa5537: fix(compiler): dereference pointer value receivers (@paralin)
- 6444d51: fix(compiler): dereference varref method receivers (@paralin)
- 18ed82f: fix(compiler): destructure package tuple vars (@paralin)
- 1937c1b: fix(compiler): detect awaits in switch cases (@paralin)
- 62b6ee7: fix(compiler): emit classes before values (@paralin)
- 3beed0e: fix(compiler): emit materialized type aliases (@paralin)
- 23d1962: fix(compiler): emit package constants before values (@paralin)
- b1704f2: fix(compiler): enable browser source compilation (@paralin)
- 875b24d: fix(compiler): encode unicode identifiers (@paralin)
- d356c0b: fix(compiler): erase private imported value types (@paralin)
- 2e8542e: fix(compiler): escape reserved class method names (@paralin)
- 32a8d3a: fix(compiler): escape reserved function names (@paralin)
- 59613cb: fix(compiler): escape reserved import aliases (@paralin)
- d31134b: fix(compiler): fold large integer constants (@paralin)
- 2eac23d: fix(compiler): gate nil receiver calls (@paralin)
- b04bf6b: fix(compiler): guard expression statements from asi (@paralin)
- d0d219f: fix(compiler): guard recursive function type metadata (@paralin)
- dc43c73: fix(compiler): hoist select loop jumps (@paralin)
- 0a1ddff: fix(compiler): ignore conversion types in shadow checks (@paralin)
- aafec94: fix(compiler): ignore rhs-local short declaration shadows (@paralin)
- baa30a7: fix(compiler): import alias deps from interface methods (@paralin)
- a2cc2dc: fix(compiler): import associated method dependencies (@paralin)
- 77a3bd1: fix(compiler): import cross-file method descriptors (@paralin)
- f29ba9a: fix(compiler): import cross-file pointer types (@paralin)
- 9c015c8: fix(compiler): import embedded interface method types (@paralin)
- d3708a1: fix(compiler): import generated call parameter types (@paralin)
- f93fabc: fix(compiler): import implicit type dependencies (@paralin)
- b1c9f0e: fix(compiler): import inferred alias types (@paralin)
- 6d51894: fix(compiler): import selector signature types (@paralin)
- cba85f7: fix(compiler): include cross-file method imports (@paralin)
- f73ce3a: fix(compiler): index semantic function identities (@paralin)
- 4fbad40: fix(compiler): infer imported generic calls (@paralin)
- fcbbde1: fix(compiler): inline cross-file constants (@paralin)
- 4ad8823: fix(compiler): keep async function values assignable (@paralin)
- d322874: fix(compiler): keep reassigned range bindings mutable (@paralin)
- efae52d: fix(compiler): keep short map declarations nullable (@paralin)
- d41e388: fix(compiler): keep type switches inline (@paralin)
- e50e73f: fix(compiler): lazy init cross-file package vars (@paralin)
- 8ed24d2: fix(compiler): lazy init hidden package vars (@paralin)
- ea1f79e: fix(compiler): lower array equality structurally (@paralin)
- e0a2dcd: fix(compiler): lower bare blocks and indexed calls (@paralin)
- a97acd6: fix(compiler): lower byte arrays as uint8array (@paralin)
- e27be2f: fix(compiler): lower evaluated constants (@paralin)
- e91ee51: fix(compiler): lower forward goto branches (@paralin)
- 399f7d5: fix(compiler): lower generic function values (@paralin)
- 08154e8: fix(compiler): lower interface call arguments (@paralin)
- 4cee337: fix(compiler): lower large numeric constants for targets (@paralin)
- 2d76d3d: fix(compiler): lower mixed goto labels (@paralin)
- b08ae26: fix(compiler): lower mixed short declarations (@paralin)
- cc55a0a: fix(compiler): lower named result returns (@paralin)
- 66489cf: fix(compiler): lower promoted method receivers (@paralin)
- b6ac70d: fix(compiler): lower promoted override receivers (@paralin)
- dfe9210: fix(compiler): lower promoted pointer fields (@paralin)
- 3ea3396: fix(compiler): lower receiver generic methods (@paralin)
- 448039d: fix(compiler): lower receiver refs and primitive errors (@paralin)
- 43e1848: fix(compiler): lower shadowing tuple declarations (@paralin)
- d3de9ea: fix(compiler): lower slice array pointer conversions (@paralin)
- a926ea5: fix(compiler): lower slice to array conversions (@paralin)
- 1023d29: fix(compiler): lower state machine gotos (@paralin)
- 3c749b8: fix(compiler): lower string ranges as runes (@paralin)
- 0a764c6: fix(compiler): lower struct method expressions (@paralin)
- 0acb0ea: fix(compiler): lower tuple for clauses (@paralin)
- 2d17f96: fix(compiler): lower unsafe byte string conversions (@paralin)
- 758a55f: fix(compiler): lower unsafe index addresses (@paralin)
- b19cae2: fix(compiler): lower unsafe pointer storage (@paralin)
- 9055e2a: fix(compiler): mark select function literals async (@paralin)
- a21c956: fix(compiler): mutate dereferenced pointers (@paralin)
- 33146b4: fix(compiler): pack generated override subpackage variadics (@paralin)
- 049acb0: fix(compiler): parenthesize array union types (@paralin)
- fe8d3b8: fix(compiler): parenthesize async map ranges (@paralin)
- 0faca84: fix(compiler): parenthesize awaited index targets (@paralin)
- 5cf4dc6: fix(compiler): pass inferred selector type arguments (@paralin)
- d09b79d: fix(compiler): point array composite literals (@paralin)
- e5ddd17: fix(compiler): preserve addressable range values (@paralin)
- cb18aa5: fix(compiler): preserve binary embed bytes (@paralin)
- e3d2d2a: fix(compiler): preserve binary expression precedence (@paralin)
- 771fd06: fix(compiler): preserve imported interface nilability (@paralin)
- 4eeafa8: fix(compiler): preserve local structs and async callbacks (@paralin)
- e29e42c: fix(compiler): preserve named slice targets (@paralin)
- 61b6d0c: fix(compiler): preserve nil declaration types (@paralin)
- e4db5ed: fix(compiler): preserve nil function typing (@paralin)
- 10b1605: fix(compiler): preserve nil pointer receivers (@paralin)
- a60e01a: fix(compiler): preserve struct pointer interface values (@paralin)
- 9233967: fix(compiler): preserve switch default fallthrough (@paralin)
- 36b5b28: fix(compiler): preserve unsafe pointer casts (@paralin)
- 90884fc: fix(compiler): preserve unsigned conversions (@paralin)
- 77468ca: fix(compiler): preserve wide shift arithmetic (@paralin)
- d3d0489: fix(compiler): preserve wide shift packing (@paralin)
- c20685f: fix(compiler): propagate nested range function awaits (@paralin)
- ffd930e: fix(compiler): propagate nested range returns (@paralin)
- abb9ae5: fix(compiler): propagate type switch branch results (@paralin)
- 9135c96: fix(compiler): qualify async promise types (@paralin)
- c313132: fix(compiler): qualify cross-file function types (@paralin)
- 9d24b13: fix(compiler): qualify cross-file method owners (@paralin)
- 90072e6: fix(compiler): qualify generic type descriptors (@paralin)
- 5193086: fix(compiler): qualify primitive error methods (@paralin)
- 612fb3b: fix(compiler): reference anonymous struct fields (@paralin)
- 4ed66c4: fix(compiler): render empty statement bodies (@paralin)
- d6fdd5d: fix(compiler): restore kernel lowering coverage (@paralin)
- 3bef888: fix(compiler): return zero values from bodyless declarations (@paralin)
- 8561f1d: fix(compiler): run unique package init functions (@paralin)
- a7f0451: fix(compiler): separate labels from declarations (@paralin)
- 04e531e: fix(compiler): set imported package vars (@paralin)
- f4f17ca: fix(compiler): skip pure blank assertions (@paralin)
- 839a7d8: fix(compiler): spread append ellipsis (@paralin)
- 3837cc4: fix(compiler): spread tuple call arguments (@paralin)
- 9ef11d8: fix(compiler): stabilize generated temp names (@paralin)
- 24d21ba: fix(compiler): support spacewave core dogfood (@paralin)
- 875499c: fix(compiler): truncate integer division (@paralin)
- 1ab5903: fix(compiler): type anonymous struct literals (@paralin)
- cb37dab: fix(compiler): type async interface values (@paralin)
- 875acf4: fix(compiler): type generic async callbacks (@paralin)
- cd22e88: fix(compiler): type override variadic arguments (@paralin)
- e15cd2e: fix(compiler): type parallel assignment temps (@paralin)
- 3c7276c: fix(compiler): type pointers to errors (@paralin)
- 832de57: fix(compiler): type type-switch case values (@paralin)
- 166532a: fix(compiler): unalias method receivers (@paralin)
- 45b1523: fix(compiler): uniquify blank declarations (@paralin)
- 77c0077: fix(compiler): uniquify blank function declarations (@paralin)
- b9ecd1d: fix(compiler): uniquify blank parameters (@paralin)
- 60e5e01: fix(compiler): uniquify blank struct fields (@paralin)
- 3876826: fix(compiler): unwrap nilable override interface args (@paralin)
- dd521b7: fix(compiler): unwrap override interface arguments (@paralin)
- 758e9eb: fix(compiler): widen async interface callbacks (@paralin)
- d000d60: fix(compiler): widen constant comparisons (@paralin)
- 6a123cf: fix(compiler): widen function aliases (@paralin)
- 1c290d3: fix(compiler): widen named function aliases (@paralin)
- 17c70cd: fix(compiler): widen returned function values (@paralin)
- a3af5ad: fix(compiler): widen string literal comparisons (@paralin)
- 5324779: fix(compiler): widen struct pointer locals (@paralin)
- b9da1cb: fix(compiler): wrap named values for interfaces (@paralin)
- 7f7d01e: fix(compiler): wrap pointer primitive interfaces (@paralin)
- 463620a: fix(compiler): write dereferenced tuple targets (@paralin)
- 5b69e38: fix(compiler): zero anonymous struct fields (@paralin)
- 349155b: fix(compiler): zero anonymous struct values (@paralin)
- 7b70c72: fix(emitter): guard asi statement continuations (@paralin)
- 9a14cf0: fix(emitter): order struct zero dependencies (@paralin)
- 1f7a6cc: fix(gotest): include dependency async facts (@paralin)
- c89ddc6: fix(gotest): isolate ambient node types (@paralin)
- 2ec2ea5: fix(gotest): isolate package test failures (@paralin)
- 059496f: fix(gotest): isolate package typecheck failures (@paralin)
- 3e64c1e: fix(gotest): provide node ambient test workspace (@paralin)
- 977ec4e: fix(gotest): use available node ambient types (@paralin)
- a43681e: fix(io): accept nullable copy endpoints (@paralin)
- f116077: fix(overrides): accept byte slices in full rune (@paralin)
- 24a28e0: fix(overrides): accept byte slices in utf8 helpers (@paralin)
- 4b307bb: fix(overrides): accept embedded io copy values (@paralin)
- e44903f: fix(overrides): accept nullable map copies (@paralin)
- 27fca3f: fix(overrides): accept nullable sort interfaces (@paralin)
- b654d95: fix(overrides): accept number uint64 operations (@paralin)
- e6ee93d: fix(overrides): accept protobuf equal type args (@paralin)
- 1b830d8: fix(overrides): accept unicode range literals (@paralin)
- 6a85fda: fix(overrides): add abi escape helpers (@paralin)
- c7c0abd: fix(overrides): add bytealg last byte string lookup (@paralin)
- 68aa403: fix(overrides): add bytealg string count (@paralin)
- 52e93c9: fix(overrides): add complex reflection support (@paralin)
- 6e0e6be: fix(overrides): add duration helper methods (@paralin)
- e2fb06e: fix(overrides): add error and month helpers (@paralin)
- cfe7e33: fix(overrides): add errors astype (@paralin)
- 75147b3: fix(overrides): add fips byteorder support (@paralin)
- bf38ba6: fix(overrides): add fips godebug support (@paralin)
- 6f5bf69: fix(overrides): add http recorder overrides (@paralin)
- 458b448: fix(overrides): add io fs readlink (@paralin)
- 67c8803: fix(overrides): add json marshal indent (@paralin)
- a2e96ad: fix(overrides): add klauspost little endian loads (@paralin)
- 4087052: fix(overrides): add net http response surface (@paralin)
- 860c9a4: fix(overrides): add protobuf json override (@paralin)
- 5144976: fix(overrides): add reflect map keys (@paralin)
- 532b044: fix(overrides): add reflect type assert (@paralin)
- ec582d4: fix(overrides): add release helper surface (@paralin)
- 772e254: fix(overrides): add runtime debug stack surface (@paralin)
- 5e28b78: fix(overrides): add runtime stack helpers (@paralin)
- 1b036fd: fix(overrides): add runtime trace stubs (@paralin)
- b64b9e3: fix(overrides): add slices helpers (@paralin)
- 09e5e1c: fix(overrides): add slices iteration helpers (@paralin)
- 4faf0f5: fix(overrides): add slices max (@paralin)
- 67e25db: fix(overrides): add slices sorted (@paralin)
- af51c7b: fix(overrides): add slices stable sort (@paralin)
- caf90dc: fix(overrides): add starpc srpc surface (@paralin)
- 1bc8ddb: fix(overrides): add synchronous scanner hooks (@paralin)
- 0c3af79: fix(overrides): add syscall descriptor helpers (@paralin)
- 96b0813: fix(overrides): add syscall js runtime (@paralin)
- 4252848: fix(overrides): add syscall network stubs (@paralin)
- a5faf99: fix(overrides): add syscall poll stubs (@paralin)
- 446e8bd: fix(overrides): add syscall socket surface (@paralin)
- 517a69b: fix(overrides): add time helper exports (@paralin)
- d425f08: fix(overrides): add time in location conversion (@paralin)
- 3f3fb43: fix(overrides): add time tuple methods (@paralin)
- a87d104: fix(overrides): add unique handles (@paralin)
- 284877b: fix(overrides): allow async backward iteration (@paralin)
- abd9333: fix(overrides): allow nil maps iterators (@paralin)
- 4211e27: fix(overrides): allow nullable map clone (@paralin)
- 5d9697c: fix(overrides): avoid unsafe lint literals (@paralin)
- 0a9999e: fix(overrides): await sort slice callbacks (@paralin)
- ee2f7ed: fix(overrides): implement protobuf json state (@paralin)
- cc1b43f: fix(overrides): preserve bytes buffer growth (@paralin)
- 4e1c3aa: fix(overrides): return time deadlines from context (@paralin)
- 04897aa: fix(overrides): type max uint64 for number comparisons (@paralin)
- 502cc27: fix(overrides): use portable context scheduling (@paralin)
- b74fc60: fix(overrides): widen fmt byte surfaces (@paralin)
- 6020f44: fix(overrides): widen parser test surfaces (@paralin)
- f15d544: fix(path): accept variadic slice joins (@paralin)
- 7a200e0: fix(reflect): expose value pointer addresses (@paralin)
- 60ca991: fix(runtime): accept struct atomic pointers (@paralin)
- 9d3de54: fix(runtime): add io pipe surface (@paralin)
- 8cb012a: fix(runtime): clear goscript slices (@paralin)
- ecd25ec: fix(runtime): fill protobuf lite root override (@paralin)
- 179dac0: fix(runtime): implement slices clone (@paralin)
- 2f0f2f6: fix(runtime): implement time utc and duration seconds (@paralin)
- 6ed65b5: fix(runtime): initialize struct slices (@paralin)
- 20788ca: fix(runtime): lazy struct typeinfo zeros (@paralin)
- c7e0c0a: fix(runtime): normalize bigint-backed durations (@paralin)
- ce34166: fix(runtime): preserve byte io fidelity (@paralin)
- 427813e: fix(runtime): return errors from time parsing (@paralin)
- 4802c61: fix(runtime): support caller frame iteration (@paralin)
- 2a6ae64: fix(runtime): support filepath glob walking (@paralin)
- 066d7c8: fix(runtime): support testing subtests (@paralin)
- 30a1a4a: fix(runtime): type protobuf json time values (@paralin)
- 9001c8d: fix(runtime): widen platform constants (@paralin)
- cb6a226: fix(semantic): record closure address facts (@paralin)
- 5c5ae8d: fix(syscall): widen numeric constants (@paralin)
- 2afb70e: fix(testing): await async subtests (@paralin)
- cf4bf83: fix(time): expose ticker channel (@paralin)
- f60bcb6: fix(tsworkspace): constrain workspace writes (@paralin)
Other
- 0968478: chore(compiler): apply go fix range cleanup (@paralin)
- db7be53: chore(goscript): merge architecture improvements (@paralin)
- c6a2836: chore(tests): update generated dependency fixtures (@paralin)
- 511cab7: ci(github): update go to 1.26.3 (@paralin)
- acb2e1b: docs(goscript): document v2 workflow (@paralin)
- 59152b1: docs(readme): restore goscript overview context (@paralin)
- 87a7517: docs(readme): tighten goscript use cases (@paralin)
- b08f215: docs(readme): update goscript target and test docs (@paralin)
- 8508c65: refactor(compiler): centralize override facts (@paralin)
- 3aa403d: refactor(compiler): expose in-memory TypeScript emission (@paralin)
- 40ee25a: refactor(compiler): remove legacy type rendering fallback (@paralin)
- bfdf7bc: refactor(compiler): type named struct conversions (@paralin)
- d295c05: refactor(gotest): share TypeScript workspace owner (@paralin)
- 0e7d8fe: release: v0.1.1 (@paralin)
- 583ca22: test(compiler): include generated fixture outputs (@paralin)
- 4e1ac1a: test(compiler): refresh deterministic range snapshots (@paralin)
- 93b54c6: test(compiler): refresh generated compliance outputs (@paralin)
- 6c8e52b: test(compliance): restore starpc srpc fixture (@paralin)
- a9741f7: test(gotest): preserve merged lowering fixture (@paralin)
- a833515: test(overrides): use vitest for s2 le coverage (@paralin)
Full Changelog: v0.1.0...v0.1.1
Installation
npm:
npm install goscript@0.1.1Binary:
Download the appropriate binary for your platform from the assets below.