toilscript 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/LICENSE +201 -201
  2. package/NOTICE +94 -94
  3. package/README.md +101 -114
  4. package/bin/asc.js +0 -0
  5. package/bin/asinit.js +0 -0
  6. package/dist/asc.generated.d.ts +10022 -0
  7. package/dist/asc.js +24457 -0
  8. package/dist/asc.js.map +7 -0
  9. package/dist/importmap.json +9 -0
  10. package/dist/toilscript.generated.d.ts +11237 -0
  11. package/dist/toilscript.js +337 -0
  12. package/dist/toilscript.js.map +7 -0
  13. package/dist/web.js +22 -0
  14. package/lib/binaryen.d.ts +2 -2
  15. package/lib/binaryen.js +2 -2
  16. package/package.json +115 -114
  17. package/std/README.md +6 -6
  18. package/std/assembly/array.ts +550 -550
  19. package/std/assembly/arraybuffer.ts +77 -77
  20. package/std/assembly/atomics.ts +127 -127
  21. package/std/assembly/bindings/asyncify.ts +16 -16
  22. package/std/assembly/bindings/dom.ts +291 -291
  23. package/std/assembly/bindings/node.ts +6 -6
  24. package/std/assembly/bitflags.ts +53 -53
  25. package/std/assembly/builtins.ts +2650 -2650
  26. package/std/assembly/byteslice.ts +177 -177
  27. package/std/assembly/compat.ts +2 -2
  28. package/std/assembly/console.ts +42 -42
  29. package/std/assembly/crypto.ts +9 -9
  30. package/std/assembly/dataview.ts +181 -181
  31. package/std/assembly/date.ts +375 -375
  32. package/std/assembly/diagnostics.ts +11 -11
  33. package/std/assembly/encoding.ts +151 -151
  34. package/std/assembly/endian.ts +45 -45
  35. package/std/assembly/error.ts +44 -44
  36. package/std/assembly/fixedarray.ts +173 -173
  37. package/std/assembly/fixedmap.ts +326 -326
  38. package/std/assembly/fixedset.ts +275 -275
  39. package/std/assembly/function.ts +42 -42
  40. package/std/assembly/index.d.ts +2891 -2891
  41. package/std/assembly/iterator.ts +35 -35
  42. package/std/assembly/map.ts +269 -269
  43. package/std/assembly/math.ts +3289 -3289
  44. package/std/assembly/memory.ts +123 -123
  45. package/std/assembly/number.ts +388 -388
  46. package/std/assembly/object.ts +36 -36
  47. package/std/assembly/performance.ts +9 -9
  48. package/std/assembly/pointer.ts +80 -80
  49. package/std/assembly/polyfills.ts +27 -27
  50. package/std/assembly/process.ts +50 -50
  51. package/std/assembly/reference.ts +48 -48
  52. package/std/assembly/regexp.ts +12 -12
  53. package/std/assembly/rt/README.md +83 -83
  54. package/std/assembly/rt/common.ts +81 -81
  55. package/std/assembly/rt/index-incremental.ts +2 -2
  56. package/std/assembly/rt/index-memory.ts +1 -1
  57. package/std/assembly/rt/index-minimal.ts +2 -2
  58. package/std/assembly/rt/index-stub.ts +1 -1
  59. package/std/assembly/rt/index.d.ts +37 -37
  60. package/std/assembly/rt/itcms.ts +419 -419
  61. package/std/assembly/rt/memory-runtime.ts +94 -94
  62. package/std/assembly/rt/rtrace.ts +15 -15
  63. package/std/assembly/rt/stub.ts +133 -133
  64. package/std/assembly/rt/tcms.ts +254 -254
  65. package/std/assembly/rt/tlsf.ts +592 -592
  66. package/std/assembly/rt.ts +90 -90
  67. package/std/assembly/set.ts +225 -225
  68. package/std/assembly/shared/feature.ts +68 -68
  69. package/std/assembly/shared/runtime.ts +13 -13
  70. package/std/assembly/shared/target.ts +11 -11
  71. package/std/assembly/shared/tsconfig.json +11 -11
  72. package/std/assembly/shared/typeinfo.ts +72 -72
  73. package/std/assembly/staticarray.ts +423 -423
  74. package/std/assembly/string.ts +850 -850
  75. package/std/assembly/symbol.ts +114 -114
  76. package/std/assembly/table.ts +16 -16
  77. package/std/assembly/tsconfig.json +6 -6
  78. package/std/assembly/typedarray.ts +1954 -1954
  79. package/std/assembly/uri.ts +17 -17
  80. package/std/assembly/util/bytes.ts +107 -107
  81. package/std/assembly/util/casemap.ts +497 -497
  82. package/std/assembly/util/error.ts +58 -58
  83. package/std/assembly/util/hash.ts +117 -117
  84. package/std/assembly/util/math.ts +1922 -1922
  85. package/std/assembly/util/memory.ts +290 -290
  86. package/std/assembly/util/number.ts +873 -873
  87. package/std/assembly/util/sort.ts +313 -313
  88. package/std/assembly/util/string.ts +1202 -1202
  89. package/std/assembly/util/uri.ts +275 -275
  90. package/std/assembly/vector.ts +4 -4
  91. package/std/assembly.json +16 -16
  92. package/std/portable/index.d.ts +461 -461
  93. package/std/portable/index.js +416 -416
  94. package/std/portable.json +11 -11
  95. package/std/types/assembly/index.d.ts +1 -1
  96. package/std/types/assembly/package.json +2 -2
  97. package/std/types/portable/index.d.ts +1 -1
  98. package/std/types/portable/package.json +2 -2
  99. package/tsconfig-base.json +13 -13
  100. package/util/README.md +23 -23
  101. package/util/browser/fs.js +1 -1
  102. package/util/browser/module.js +5 -5
  103. package/util/browser/path.js +520 -520
  104. package/util/browser/process.js +59 -59
  105. package/util/browser/url.js +23 -23
  106. package/util/cpu.d.ts +9 -9
  107. package/util/cpu.js +42 -42
  108. package/util/find.d.ts +6 -6
  109. package/util/find.js +20 -20
  110. package/util/node.d.ts +21 -21
  111. package/util/node.js +34 -34
  112. package/util/options.d.ts +70 -70
  113. package/util/options.js +262 -262
  114. package/util/terminal.d.ts +52 -52
  115. package/util/terminal.js +35 -35
  116. package/util/text.d.ts +26 -26
  117. package/util/text.js +114 -114
  118. package/util/tsconfig.json +9 -9
  119. package/util/web.d.ts +11 -11
  120. package/util/web.js +33 -33
package/README.md CHANGED
@@ -1,114 +1,101 @@
1
- <p align="center">
2
- <a href="https://www.assemblyscript.org" target="_blank" rel="noopener"><img width="100" src="https://avatars1.githubusercontent.com/u/28916798?s=200&v=4" alt="AssemblyScript logo"></a>
3
- </p>
4
-
5
- <p align="center">
6
- <a href="https://www.npmjs.com/package/toilscript"><img src="https://img.shields.io/npm/v/toilscript.svg?color=007acc&logo=npm" alt="npm version" /></a>
7
- <a href="https://github.com/btc-vision/assemblyscript/releases"><img src="https://img.shields.io/github/v/release/btc-vision/assemblyscript?color=green&logo=github" alt="GitHub release" /></a>
8
- </p>
9
-
10
- ---
11
-
12
- ## WARNING: EXPERIMENTAL FORK
13
-
14
- **This is an experimental fork of AssemblyScript maintained by [btc-vision](https://github.com/btc-vision).** It includes features that are not yet available in the official AssemblyScript release:
15
-
16
- ### Experimental Features
17
-
18
- - **Closures** - Full closure support with captured variables
19
- - **Try-Catch-Finally** - Exception handling with try-catch-finally blocks
20
- - **Binaryen 125** - Updated to the latest Binaryen version (125.0.0)
21
- - **Enhanced Shadow Stack** - Improved shadow stack pass for better GC integration
22
-
23
- ### Changes from Upstream
24
-
25
- 1. **Closure Support**
26
- - Closure capture analysis and recompilation logic
27
-
28
- 2. **Exception Handling**
29
- - Try-catch-finally statement support
30
- - Enforced Error type in throw statements
31
-
32
- 3. **Binaryen Upgrade (123 → 125)**
33
- - Updated ExpressionId enum values to match Binaryen 125
34
- - Fixed shadow stack pass timing to handle lazy function compilation
35
- - Moved `compileVisitGlobals`/`compileVisitMembers` after shadow stack pass
36
- - Added iterative shadow stack transformation for newly compiled functions
37
-
38
- ---
39
-
40
- ## Installation
41
-
42
- ```sh
43
- npm install toilscript
44
- ```
45
-
46
- ### Usage
47
-
48
- This fork is a drop-in replacement for AssemblyScript. Simply replace your import:
49
-
50
- ```json
51
- {
52
- "dependencies": {
53
- "toilscript": "^0.29.0"
54
- }
55
- }
56
- ```
57
-
58
- Or if migrating from official AssemblyScript:
59
-
60
- ```sh
61
- npm uninstall assemblyscript
62
- npm install toilscript
63
- ```
64
-
65
- The CLI commands remain the same:
66
-
67
- ```sh
68
- npx asc your-file.ts --outFile output.wasm
69
- ```
70
-
71
- ---
72
-
73
- ## Original README
74
-
75
- <p align="justify"><strong>AssemblyScript</strong> compiles a variant of <a href="http://www.typescriptlang.org">TypeScript</a> (basically JavaScript with types) to <a href="http://webassembly.org">WebAssembly</a> using <a href="https://github.com/WebAssembly/binaryen">Binaryen</a>. It generates lean and mean WebAssembly modules while being just an <code>npm install</code> away.</p>
76
-
77
- <h3 align="center">
78
- <a href="https://www.assemblyscript.org">About</a> &nbsp;·&nbsp;
79
- <a href="https://www.assemblyscript.org/getting-started.html">Getting&nbsp;started</a> &nbsp;·&nbsp;
80
- <a href="https://www.assemblyscript.org/examples.html">Examples</a> &nbsp;·&nbsp;
81
- <a href="https://www.assemblyscript.org/built-with-assemblyscript.html">Built with AssemblyScript</a>
82
- </h3>
83
- <br>
84
-
85
- <h2 align="center">Contributors</h2>
86
-
87
- <p align="center">
88
- <a href="https://www.assemblyscript.org/#contributors"><img src="https://www.assemblyscript.org/contributors.svg" alt="Contributor logos" width="720" /></a>
89
- </p>
90
-
91
- <h2 align="center">Thanks to our sponsors!</h2>
92
-
93
- <p align="justify">Most of the maintainers and contributors do this open source work in their free time. If you use AssemblyScript for a serious task or plan to do so, and you'd like us to invest more time on it, <a href="https://opencollective.com/assemblyscript/donate" target="_blank" rel="noopener">please donate</a> to our <a href="https://opencollective.com/assemblyscript" target="_blank" rel="noopener">OpenCollective</a>. By sponsoring this project, your logo will show up below. Thank you so much for your support!</p>
94
-
95
- <p align="center">
96
- <a href="https://www.assemblyscript.org/#sponsors"><img src="https://www.assemblyscript.org/sponsors.svg" alt="Sponsor logos" width="720" /></a>
97
- </p>
98
-
99
- ## Development instructions
100
-
101
- A development environment can be set up by cloning the repository:
102
-
103
- ```sh
104
- git clone https://github.com/btc-vision/assemblyscript.git
105
- cd assemblyscript
106
- npm install
107
- npm link
108
- ```
109
-
110
- The link step is optional and makes the development instance available globally. The full process is documented as part of the repository:
111
-
112
- * [Compiler instructions](./src)
113
- * [Runtime instructions](./std/assembly/rt)
114
- * [Test instructions](./tests)
1
+ <p align="center">
2
+ <a href="https://www.assemblyscript.org" target="_blank" rel="noopener"><img width="100" src="https://avatars1.githubusercontent.com/u/28916798?s=200&v=4" alt="AssemblyScript logo"></a>
3
+ </p>
4
+
5
+ <p align="center">
6
+ <a href="https://www.npmjs.com/package/toilscript"><img src="https://img.shields.io/npm/v/toilscript.svg?color=007acc&logo=npm" alt="npm version" /></a>
7
+ <a href="https://github.com/dacely-cloud/toilscript/releases"><img src="https://img.shields.io/github/v/release/dacely-cloud/toilscript?color=green&logo=github" alt="GitHub release" /></a>
8
+ </p>
9
+
10
+ ---
11
+
12
+ ## ToilScript
13
+
14
+ **ToilScript is a fork of [AssemblyScript](https://github.com/AssemblyScript/assemblyscript)** that tracks the latest upstream and adds language features not yet available in the official release.
15
+
16
+ ### Added features
17
+
18
+ - **Closures** full closure support with captured variables
19
+ - **Try-catch-finally** exception handling (a `throw` must be an `Error` or a subclass)
20
+
21
+ ### How it's built
22
+
23
+ ToilScript is the latest AssemblyScript `main` (Binaryen `129.0.0-nightly`, BigInt-based i64) with the closure and exception-handling work — originally from the [btc-vision](https://github.com/btc-vision/assemblyscript) fork — merged on top. The compiler's config file defaults to `toilconfig.json` (instead of `asconfig.json`).
24
+
25
+ ---
26
+
27
+ ## Installation
28
+
29
+ ```sh
30
+ npm install toilscript
31
+ ```
32
+
33
+ ### Usage
34
+
35
+ This fork is a drop-in replacement for AssemblyScript. Simply replace your import:
36
+
37
+ ```json
38
+ {
39
+ "dependencies": {
40
+ "toilscript": "^0.1.0"
41
+ }
42
+ }
43
+ ```
44
+
45
+ Or if migrating from official AssemblyScript:
46
+
47
+ ```sh
48
+ npm uninstall assemblyscript
49
+ npm install toilscript
50
+ ```
51
+
52
+ The CLI commands remain the same:
53
+
54
+ ```sh
55
+ npx asc your-file.ts --outFile output.wasm
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Original README
61
+
62
+ <p align="justify"><strong>AssemblyScript</strong> compiles a variant of <a href="http://www.typescriptlang.org">TypeScript</a> (basically JavaScript with types) to <a href="http://webassembly.org">WebAssembly</a> using <a href="https://github.com/WebAssembly/binaryen">Binaryen</a>. It generates lean and mean WebAssembly modules while being just an <code>npm install</code> away.</p>
63
+
64
+ <h3 align="center">
65
+ <a href="https://www.assemblyscript.org">About</a> &nbsp;·&nbsp;
66
+ <a href="https://www.assemblyscript.org/getting-started.html">Getting&nbsp;started</a> &nbsp;·&nbsp;
67
+ <a href="https://www.assemblyscript.org/examples.html">Examples</a> &nbsp;·&nbsp;
68
+ <a href="https://www.assemblyscript.org/built-with-assemblyscript.html">Built with AssemblyScript</a>
69
+ </h3>
70
+ <br>
71
+
72
+ <h2 align="center">Contributors</h2>
73
+
74
+ <p align="center">
75
+ <a href="https://www.assemblyscript.org/#contributors"><img src="https://www.assemblyscript.org/contributors.svg" alt="Contributor logos" width="720" /></a>
76
+ </p>
77
+
78
+ <h2 align="center">Thanks to our sponsors!</h2>
79
+
80
+ <p align="justify">Most of the maintainers and contributors do this open source work in their free time. If you use AssemblyScript for a serious task or plan to do so, and you'd like us to invest more time on it, <a href="https://opencollective.com/assemblyscript/donate" target="_blank" rel="noopener">please donate</a> to our <a href="https://opencollective.com/assemblyscript" target="_blank" rel="noopener">OpenCollective</a>. By sponsoring this project, your logo will show up below. Thank you so much for your support!</p>
81
+
82
+ <p align="center">
83
+ <a href="https://www.assemblyscript.org/#sponsors"><img src="https://www.assemblyscript.org/sponsors.svg" alt="Sponsor logos" width="720" /></a>
84
+ </p>
85
+
86
+ ## Development instructions
87
+
88
+ A development environment can be set up by cloning the repository:
89
+
90
+ ```sh
91
+ git clone https://github.com/dacely-cloud/toilscript.git
92
+ cd toilscript
93
+ npm install
94
+ npm link
95
+ ```
96
+
97
+ The link step is optional and makes the development instance available globally. The full process is documented as part of the repository:
98
+
99
+ * [Compiler instructions](./src)
100
+ * [Runtime instructions](./std/assembly/rt)
101
+ * [Test instructions](./tests)
package/bin/asc.js CHANGED
File without changes
package/bin/asinit.js CHANGED
File without changes