@suchipi/quickjs 0.9.0 → 0.10.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 (206) hide show
  1. package/README.md +5 -5
  2. package/build/aarch64-apple-darwin/bin/file-to-bytecode.js +3 -3
  3. package/build/aarch64-apple-darwin/bin/qjs +0 -0
  4. package/build/aarch64-apple-darwin/bin/qjsbootstrap +0 -0
  5. package/build/aarch64-apple-darwin/bin/qjsbootstrap-bytecode +0 -0
  6. package/build/aarch64-apple-darwin/bin/qjsc +0 -0
  7. package/build/aarch64-apple-darwin/bin/quickjs-run +0 -0
  8. package/build/aarch64-apple-darwin/extras/is-stdin-a-tty +0 -0
  9. package/build/aarch64-apple-darwin/extras/run-test262 +0 -0
  10. package/build/aarch64-apple-darwin/extras/sample-program/sum +0 -0
  11. package/build/aarch64-apple-darwin/extras/stack-limit-test +0 -0
  12. package/build/{aarch64-unknown-linux-musl/include/quickjs-libbytecode.h → aarch64-apple-darwin/include/quickjs-bytecode.h} +3 -3
  13. package/build/{aarch64-unknown-linux-musl/include/quickjs-libcontext.h → aarch64-apple-darwin/include/quickjs-context.h} +3 -3
  14. package/build/{aarch64-unknown-linux-gnu/include/quickjs-libencoding.h → aarch64-apple-darwin/include/quickjs-encoding.h} +3 -3
  15. package/build/aarch64-apple-darwin/include/{quickjs-libengine.h → quickjs-engine.h} +3 -3
  16. package/build/aarch64-apple-darwin/include/quickjs-full-init.h +5 -5
  17. package/build/aarch64-apple-darwin/include/{quickjs-libpointer.h → quickjs-pointer.h} +3 -3
  18. package/build/aarch64-apple-darwin/lib/quickjs-core.a +0 -0
  19. package/build/aarch64-apple-darwin/lib/quickjs-full.a +0 -0
  20. package/build/aarch64-unknown-linux-gnu/bin/file-to-bytecode.js +3 -3
  21. package/build/aarch64-unknown-linux-gnu/bin/qjs +0 -0
  22. package/build/aarch64-unknown-linux-gnu/bin/qjsbootstrap +0 -0
  23. package/build/aarch64-unknown-linux-gnu/bin/qjsbootstrap-bytecode +0 -0
  24. package/build/aarch64-unknown-linux-gnu/bin/qjsc +0 -0
  25. package/build/aarch64-unknown-linux-gnu/bin/quickjs-run +0 -0
  26. package/build/aarch64-unknown-linux-gnu/extras/is-stdin-a-tty +0 -0
  27. package/build/aarch64-unknown-linux-gnu/extras/run-test262 +0 -0
  28. package/build/aarch64-unknown-linux-gnu/extras/sample-program/sum +0 -0
  29. package/build/aarch64-unknown-linux-gnu/extras/stack-limit-test +0 -0
  30. package/build/{aarch64-apple-darwin/include/quickjs-libbytecode.h → aarch64-unknown-linux-gnu/include/quickjs-bytecode.h} +3 -3
  31. package/build/{aarch64-unknown-linux-static/include/quickjs-libcontext.h → aarch64-unknown-linux-gnu/include/quickjs-context.h} +3 -3
  32. package/build/{aarch64-unknown-linux-musl/include/quickjs-libencoding.h → aarch64-unknown-linux-gnu/include/quickjs-encoding.h} +3 -3
  33. package/build/{aarch64-unknown-linux-musl/include/quickjs-libengine.h → aarch64-unknown-linux-gnu/include/quickjs-engine.h} +3 -3
  34. package/build/aarch64-unknown-linux-gnu/include/quickjs-full-init.h +5 -5
  35. package/build/{aarch64-unknown-linux-musl/include/quickjs-libpointer.h → aarch64-unknown-linux-gnu/include/quickjs-pointer.h} +3 -3
  36. package/build/aarch64-unknown-linux-gnu/lib/quickjs-core.a +0 -0
  37. package/build/aarch64-unknown-linux-gnu/lib/quickjs-full.a +0 -0
  38. package/build/aarch64-unknown-linux-musl/bin/file-to-bytecode.js +3 -3
  39. package/build/aarch64-unknown-linux-musl/bin/qjs +0 -0
  40. package/build/aarch64-unknown-linux-musl/bin/qjsbootstrap +0 -0
  41. package/build/aarch64-unknown-linux-musl/bin/qjsbootstrap-bytecode +0 -0
  42. package/build/aarch64-unknown-linux-musl/bin/qjsc +0 -0
  43. package/build/aarch64-unknown-linux-musl/bin/quickjs-run +0 -0
  44. package/build/aarch64-unknown-linux-musl/extras/is-stdin-a-tty +0 -0
  45. package/build/aarch64-unknown-linux-musl/extras/run-test262 +0 -0
  46. package/build/aarch64-unknown-linux-musl/extras/sample-program/sum +0 -0
  47. package/build/aarch64-unknown-linux-musl/extras/stack-limit-test +0 -0
  48. package/build/{aarch64-unknown-linux-gnu/include/quickjs-libbytecode.h → aarch64-unknown-linux-musl/include/quickjs-bytecode.h} +3 -3
  49. package/build/{aarch64-apple-darwin/include/quickjs-libcontext.h → aarch64-unknown-linux-musl/include/quickjs-context.h} +3 -3
  50. package/build/{aarch64-unknown-linux-static/include/quickjs-libencoding.h → aarch64-unknown-linux-musl/include/quickjs-encoding.h} +3 -3
  51. package/build/{aarch64-unknown-linux-static/include/quickjs-libengine.h → aarch64-unknown-linux-musl/include/quickjs-engine.h} +3 -3
  52. package/build/aarch64-unknown-linux-musl/include/quickjs-full-init.h +5 -5
  53. package/build/{aarch64-unknown-linux-static/include/quickjs-libpointer.h → aarch64-unknown-linux-musl/include/quickjs-pointer.h} +3 -3
  54. package/build/aarch64-unknown-linux-musl/lib/quickjs-core.a +0 -0
  55. package/build/aarch64-unknown-linux-musl/lib/quickjs-full.a +0 -0
  56. package/build/aarch64-unknown-linux-static/bin/file-to-bytecode.js +3 -3
  57. package/build/aarch64-unknown-linux-static/bin/qjs +0 -0
  58. package/build/aarch64-unknown-linux-static/bin/qjsbootstrap +0 -0
  59. package/build/aarch64-unknown-linux-static/bin/qjsbootstrap-bytecode +0 -0
  60. package/build/aarch64-unknown-linux-static/bin/qjsc +0 -0
  61. package/build/aarch64-unknown-linux-static/bin/quickjs-run +0 -0
  62. package/build/aarch64-unknown-linux-static/extras/is-stdin-a-tty +0 -0
  63. package/build/aarch64-unknown-linux-static/extras/run-test262 +0 -0
  64. package/build/aarch64-unknown-linux-static/extras/sample-program/sum +0 -0
  65. package/build/aarch64-unknown-linux-static/extras/stack-limit-test +0 -0
  66. package/build/aarch64-unknown-linux-static/include/{quickjs-libbytecode.h → quickjs-bytecode.h} +3 -3
  67. package/build/{aarch64-unknown-linux-gnu/include/quickjs-libcontext.h → aarch64-unknown-linux-static/include/quickjs-context.h} +3 -3
  68. package/build/{aarch64-apple-darwin/include/quickjs-libencoding.h → aarch64-unknown-linux-static/include/quickjs-encoding.h} +3 -3
  69. package/build/{aarch64-unknown-linux-gnu/include/quickjs-libengine.h → aarch64-unknown-linux-static/include/quickjs-engine.h} +3 -3
  70. package/build/aarch64-unknown-linux-static/include/quickjs-full-init.h +5 -5
  71. package/build/{aarch64-unknown-linux-gnu/include/quickjs-libpointer.h → aarch64-unknown-linux-static/include/quickjs-pointer.h} +3 -3
  72. package/build/aarch64-unknown-linux-static/lib/quickjs-core.a +0 -0
  73. package/build/aarch64-unknown-linux-static/lib/quickjs-full.a +0 -0
  74. package/build/dts/quickjs-libc.d.ts +21 -0
  75. package/build/dts/quickjs-modulesys.d.ts +9 -0
  76. package/build/dts/{quickjs-libpointer.d.ts → quickjs-pointer.d.ts} +1 -1
  77. package/build/x86_64-apple-darwin/bin/file-to-bytecode.js +3 -3
  78. package/build/x86_64-apple-darwin/bin/qjs +0 -0
  79. package/build/x86_64-apple-darwin/bin/qjsbootstrap +0 -0
  80. package/build/x86_64-apple-darwin/bin/qjsbootstrap-bytecode +0 -0
  81. package/build/x86_64-apple-darwin/bin/qjsc +0 -0
  82. package/build/x86_64-apple-darwin/bin/quickjs-run +0 -0
  83. package/build/x86_64-apple-darwin/extras/is-stdin-a-tty +0 -0
  84. package/build/x86_64-apple-darwin/extras/run-test262 +0 -0
  85. package/build/x86_64-apple-darwin/extras/sample-program/sum +0 -0
  86. package/build/x86_64-apple-darwin/extras/stack-limit-test +0 -0
  87. package/build/x86_64-apple-darwin/include/quickjs-bytecode.h +8 -0
  88. package/build/x86_64-apple-darwin/include/quickjs-context.h +8 -0
  89. package/build/x86_64-apple-darwin/include/quickjs-encoding.h +8 -0
  90. package/build/x86_64-apple-darwin/include/quickjs-engine.h +8 -0
  91. package/build/x86_64-apple-darwin/include/quickjs-full-init.h +5 -5
  92. package/build/x86_64-apple-darwin/include/quickjs-pointer.h +9 -0
  93. package/build/x86_64-apple-darwin/lib/quickjs-core.a +0 -0
  94. package/build/x86_64-apple-darwin/lib/quickjs-full.a +0 -0
  95. package/build/x86_64-pc-windows-static/bin/file-to-bytecode.js +3 -3
  96. package/build/x86_64-pc-windows-static/bin/qjs.exe +0 -0
  97. package/build/x86_64-pc-windows-static/bin/qjsbootstrap-bytecode.exe +0 -0
  98. package/build/x86_64-pc-windows-static/bin/qjsbootstrap.exe +0 -0
  99. package/build/x86_64-pc-windows-static/bin/qjsc.exe +0 -0
  100. package/build/x86_64-pc-windows-static/bin/quickjs-run.exe +0 -0
  101. package/build/x86_64-pc-windows-static/extras/is-stdin-a-tty.exe +0 -0
  102. package/build/x86_64-pc-windows-static/extras/run-test262.exe +0 -0
  103. package/build/x86_64-pc-windows-static/extras/sample-program/sum.exe +0 -0
  104. package/build/x86_64-pc-windows-static/extras/stack-limit-test.exe +0 -0
  105. package/build/x86_64-pc-windows-static/include/quickjs-bytecode.h +8 -0
  106. package/build/x86_64-pc-windows-static/include/quickjs-context.h +8 -0
  107. package/build/x86_64-pc-windows-static/include/quickjs-encoding.h +8 -0
  108. package/build/x86_64-pc-windows-static/include/quickjs-engine.h +8 -0
  109. package/build/x86_64-pc-windows-static/include/quickjs-full-init.h +5 -5
  110. package/build/x86_64-pc-windows-static/include/quickjs-pointer.h +9 -0
  111. package/build/x86_64-pc-windows-static/lib/quickjs-core.a +0 -0
  112. package/build/x86_64-pc-windows-static/lib/quickjs-full.a +0 -0
  113. package/build/x86_64-unknown-linux-gnu/bin/file-to-bytecode.js +3 -3
  114. package/build/x86_64-unknown-linux-gnu/bin/qjs +0 -0
  115. package/build/x86_64-unknown-linux-gnu/bin/qjsbootstrap +0 -0
  116. package/build/x86_64-unknown-linux-gnu/bin/qjsbootstrap-bytecode +0 -0
  117. package/build/x86_64-unknown-linux-gnu/bin/qjsc +0 -0
  118. package/build/x86_64-unknown-linux-gnu/bin/quickjs-run +0 -0
  119. package/build/x86_64-unknown-linux-gnu/extras/is-stdin-a-tty +0 -0
  120. package/build/x86_64-unknown-linux-gnu/extras/run-test262 +0 -0
  121. package/build/x86_64-unknown-linux-gnu/extras/sample-program/sum +0 -0
  122. package/build/x86_64-unknown-linux-gnu/extras/stack-limit-test +0 -0
  123. package/build/x86_64-unknown-linux-gnu/include/quickjs-bytecode.h +8 -0
  124. package/build/x86_64-unknown-linux-gnu/include/quickjs-context.h +8 -0
  125. package/build/x86_64-unknown-linux-gnu/include/quickjs-encoding.h +8 -0
  126. package/build/x86_64-unknown-linux-gnu/include/quickjs-engine.h +8 -0
  127. package/build/x86_64-unknown-linux-gnu/include/quickjs-full-init.h +5 -5
  128. package/build/x86_64-unknown-linux-gnu/include/quickjs-pointer.h +9 -0
  129. package/build/x86_64-unknown-linux-gnu/lib/quickjs-core.a +0 -0
  130. package/build/x86_64-unknown-linux-gnu/lib/quickjs-full.a +0 -0
  131. package/build/x86_64-unknown-linux-musl/bin/file-to-bytecode.js +3 -3
  132. package/build/x86_64-unknown-linux-musl/bin/qjs +0 -0
  133. package/build/x86_64-unknown-linux-musl/bin/qjsbootstrap +0 -0
  134. package/build/x86_64-unknown-linux-musl/bin/qjsbootstrap-bytecode +0 -0
  135. package/build/x86_64-unknown-linux-musl/bin/qjsc +0 -0
  136. package/build/x86_64-unknown-linux-musl/bin/quickjs-run +0 -0
  137. package/build/x86_64-unknown-linux-musl/extras/is-stdin-a-tty +0 -0
  138. package/build/x86_64-unknown-linux-musl/extras/run-test262 +0 -0
  139. package/build/x86_64-unknown-linux-musl/extras/sample-program/sum +0 -0
  140. package/build/x86_64-unknown-linux-musl/extras/stack-limit-test +0 -0
  141. package/build/x86_64-unknown-linux-musl/include/quickjs-bytecode.h +8 -0
  142. package/build/x86_64-unknown-linux-musl/include/quickjs-context.h +8 -0
  143. package/build/x86_64-unknown-linux-musl/include/quickjs-encoding.h +8 -0
  144. package/build/x86_64-unknown-linux-musl/include/quickjs-engine.h +8 -0
  145. package/build/x86_64-unknown-linux-musl/include/quickjs-full-init.h +5 -5
  146. package/build/x86_64-unknown-linux-musl/include/quickjs-pointer.h +9 -0
  147. package/build/x86_64-unknown-linux-musl/lib/quickjs-core.a +0 -0
  148. package/build/x86_64-unknown-linux-musl/lib/quickjs-full.a +0 -0
  149. package/build/x86_64-unknown-linux-static/bin/file-to-bytecode.js +3 -3
  150. package/build/x86_64-unknown-linux-static/bin/qjs +0 -0
  151. package/build/x86_64-unknown-linux-static/bin/qjsbootstrap +0 -0
  152. package/build/x86_64-unknown-linux-static/bin/qjsbootstrap-bytecode +0 -0
  153. package/build/x86_64-unknown-linux-static/bin/qjsc +0 -0
  154. package/build/x86_64-unknown-linux-static/bin/quickjs-run +0 -0
  155. package/build/x86_64-unknown-linux-static/extras/is-stdin-a-tty +0 -0
  156. package/build/x86_64-unknown-linux-static/extras/run-test262 +0 -0
  157. package/build/x86_64-unknown-linux-static/extras/sample-program/sum +0 -0
  158. package/build/x86_64-unknown-linux-static/extras/stack-limit-test +0 -0
  159. package/build/x86_64-unknown-linux-static/include/quickjs-bytecode.h +8 -0
  160. package/build/x86_64-unknown-linux-static/include/quickjs-context.h +8 -0
  161. package/build/x86_64-unknown-linux-static/include/quickjs-encoding.h +8 -0
  162. package/build/x86_64-unknown-linux-static/include/quickjs-engine.h +8 -0
  163. package/build/x86_64-unknown-linux-static/include/quickjs-full-init.h +5 -5
  164. package/build/x86_64-unknown-linux-static/include/quickjs-pointer.h +9 -0
  165. package/build/x86_64-unknown-linux-static/lib/quickjs-core.a +0 -0
  166. package/build/x86_64-unknown-linux-static/lib/quickjs-full.a +0 -0
  167. package/package.json +2 -2
  168. package/tsconfig.json +2 -5
  169. package/build/aarch64-apple-darwin/extras/log-argv +0 -0
  170. package/build/aarch64-unknown-linux-gnu/extras/log-argv +0 -0
  171. package/build/aarch64-unknown-linux-musl/extras/log-argv +0 -0
  172. package/build/aarch64-unknown-linux-static/extras/log-argv +0 -0
  173. package/build/x86_64-apple-darwin/extras/log-argv +0 -0
  174. package/build/x86_64-apple-darwin/include/quickjs-libbytecode.h +0 -8
  175. package/build/x86_64-apple-darwin/include/quickjs-libcontext.h +0 -8
  176. package/build/x86_64-apple-darwin/include/quickjs-libencoding.h +0 -8
  177. package/build/x86_64-apple-darwin/include/quickjs-libengine.h +0 -8
  178. package/build/x86_64-apple-darwin/include/quickjs-libpointer.h +0 -9
  179. package/build/x86_64-pc-windows-static/extras/log-argv.exe +0 -0
  180. package/build/x86_64-pc-windows-static/include/quickjs-libbytecode.h +0 -8
  181. package/build/x86_64-pc-windows-static/include/quickjs-libcontext.h +0 -8
  182. package/build/x86_64-pc-windows-static/include/quickjs-libencoding.h +0 -8
  183. package/build/x86_64-pc-windows-static/include/quickjs-libengine.h +0 -8
  184. package/build/x86_64-pc-windows-static/include/quickjs-libpointer.h +0 -9
  185. package/build/x86_64-unknown-linux-gnu/extras/log-argv +0 -0
  186. package/build/x86_64-unknown-linux-gnu/include/quickjs-libbytecode.h +0 -8
  187. package/build/x86_64-unknown-linux-gnu/include/quickjs-libcontext.h +0 -8
  188. package/build/x86_64-unknown-linux-gnu/include/quickjs-libencoding.h +0 -8
  189. package/build/x86_64-unknown-linux-gnu/include/quickjs-libengine.h +0 -8
  190. package/build/x86_64-unknown-linux-gnu/include/quickjs-libpointer.h +0 -9
  191. package/build/x86_64-unknown-linux-musl/extras/log-argv +0 -0
  192. package/build/x86_64-unknown-linux-musl/include/quickjs-libbytecode.h +0 -8
  193. package/build/x86_64-unknown-linux-musl/include/quickjs-libcontext.h +0 -8
  194. package/build/x86_64-unknown-linux-musl/include/quickjs-libencoding.h +0 -8
  195. package/build/x86_64-unknown-linux-musl/include/quickjs-libengine.h +0 -8
  196. package/build/x86_64-unknown-linux-musl/include/quickjs-libpointer.h +0 -9
  197. package/build/x86_64-unknown-linux-static/extras/log-argv +0 -0
  198. package/build/x86_64-unknown-linux-static/include/quickjs-libbytecode.h +0 -8
  199. package/build/x86_64-unknown-linux-static/include/quickjs-libcontext.h +0 -8
  200. package/build/x86_64-unknown-linux-static/include/quickjs-libencoding.h +0 -8
  201. package/build/x86_64-unknown-linux-static/include/quickjs-libengine.h +0 -8
  202. package/build/x86_64-unknown-linux-static/include/quickjs-libpointer.h +0 -9
  203. /package/build/dts/{quickjs-libbytecode.d.ts → quickjs-bytecode.d.ts} +0 -0
  204. /package/build/dts/{quickjs-libcontext.d.ts → quickjs-context.d.ts} +0 -0
  205. /package/build/dts/{quickjs-libencoding.d.ts → quickjs-encoding.d.ts} +0 -0
  206. /package/build/dts/{quickjs-libengine.d.ts → quickjs-engine.d.ts} +0 -0
package/README.md CHANGED
@@ -55,7 +55,7 @@ Fork of the fantastic QuickJS engine by Fabrice Bellard, with many changes.
55
55
  - `os.{S_IRWXU,S_IRUSR,S_IWUSR,S_IXUSR,S_IRWXG,S_IRGRP,S_IWGRP,S_IXGRP,S_IRWXO,S_IROTH,S_IWOTH,S_IXOTH}` added, for working with file modes.
56
56
  - `"b"` mode flag is now allowed in `std.fdopen`.
57
57
  - `std.strftime` added (wrapper for libc `strftime`).
58
- - Added `std.getuid`, `std.geteuid`, `std.getgid`, and `std.getegid` (wrappers for the libc functions of the same names).
58
+ - Added `std.getuid`, `std.geteuid`, `std.getgid`, `std.getegid`, and `std.getpwuid` (wrappers for the libc/posix functions of the same names).
59
59
  - Most module-loading-related code was moved into `quickjs-modulesys`.
60
60
  - `setTimeout` and `clearTimeout` are now available as globals (previously they were only available as exports).
61
61
  - `setInterval` and `clearInterval` are added, available as globals.
@@ -125,6 +125,8 @@ This module contains APIs related to engine internals like script execution, mod
125
125
 
126
126
  - `.js` extensions can now be omitted from import specifiers; they're optional.
127
127
  - If your import specifier points to a folder, it will attempt to load `index.js` from that folder.
128
+ - Synchronous import function added (`importModule`), which provides the same module record object you would get via dynamic (async) import.
129
+ - JS api for using the engine's configured module name normalization function was added (`resolveModule`).
128
130
  - Adds the global `require`, a CommonJS-like synchronous module loading function.
129
131
  - The `require` function is not fully CommonJS-compliant; for instance, `require.main` is not present. `require.resolve` is, though.
130
132
  - Adds `import.meta.require`
@@ -135,7 +137,7 @@ This module contains APIs related to engine internals like script execution, mod
135
137
  - Makes the module loader's resolution and loading behavior configurable
136
138
  - The module "quickjs:engine" exports an object called `ModuleDelegate`.
137
139
  - You can specify additional implicit import specifier extensions by adding to the `ModuleDelegate.searchExtensions` array.
138
- - You can transform any file prior to evaluating it as a module by adding a function to the `ModuleDelegate.compilers` object. Useful for compile-to-ts languages like TypeScript, Coffeescript, etc.
140
+ - You can transform any file prior to evaluating it as a module by adding a function to the `ModuleDelegate.compilers` object. Useful for compile-to-js languages like TypeScript, Coffeescript, etc.
139
141
  - You can override module name normalization (aka module resolution) by replacing the `ModuleDelegate.resolve` function.
140
142
  - Note that you must handle `ModuleDelegate.searchExtensions` yourself in your replacement implementation.
141
143
  - You can override the method used to load modules by replacing the `ModuleDelegate.read` function.
@@ -147,8 +149,6 @@ This module contains APIs related to engine internals like script execution, mod
147
149
  - New `isModuleNamespace` function lets users identify module namespace objects
148
150
  - New `defineBuiltinModule` function lets users add their own builtin modules
149
151
  - When using `require` to load a module which contains an export named `__cjsExports`, the value of the `__cjsExports` property will be returned from `require` instead of the usual module namespace object. This can be leveraged by users configuring the module loader to add some CommonJS <-> ESM interop. Note, however, that dynamic import and `"quickjs:engine"`'s `importModule` always receive the usual module namespace object.
150
- - Synchronous import function added (`importModule`), which provides the same module record object you would get via dynamic (async) import.
151
- - JS api for using the engine's configured module name normalization function was added (`resolveModule`).
152
152
 
153
153
  ### Changes to project organization
154
154
 
@@ -156,7 +156,7 @@ This module contains APIs related to engine internals like script execution, mod
156
156
  - Ninja is used instead of make. Ninja build config is generated via `.ninja.js` files which get loaded into [@suchipi/shinobi](https://github.com/suchipi/shinobi).
157
157
  - Line endings have been made consistent and trailing whitespace has been removed
158
158
  - The tests are authored in a new format which leverages jest snapshot testing.
159
- - Some parts of `quickjs-libc` were moved into `quickjs-modulesys` and `quickjs-libengine`.
159
+ - Some parts of `quickjs-libc` were moved into `quickjs-modulesys` and `quickjs-engine`.
160
160
  - The `eval_*` functions that were duplicated in each of the programs (`eval_buf`, `eval_file`, and `eval_binary`) were deduplicated and moved into `quickjs-modulesys`.
161
161
 
162
162
  ### More target OSes/runtimes
@@ -3,9 +3,9 @@
3
3
  // Simple script which reads in a file, converts it to bytecode, and writes out
4
4
  // the bytecode to a new file.
5
5
 
6
- /// <reference path="../quickjs/quickjs.d.ts" />
7
- /// <reference path="../quickjs-libc/quickjs-libc.d.ts" />
8
- /// <reference path="../quickjs-libbytecode/quickjs-libbytecode.d.ts" />
6
+ /// <reference path="../../quickjs/quickjs.d.ts" />
7
+ /// <reference path="../../builtin-modules/quickjs-libc/quickjs-libc.d.ts" />
8
+ /// <reference path="../../builtin-modules/quickjs-bytecode/quickjs-bytecode.d.ts" />
9
9
 
10
10
  import * as std from "quickjs:std";
11
11
  import * as Bytecode from "quickjs:bytecode";
Binary file
Binary file
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBBYTECODE_H
2
- #define QUICKJS_LIBBYTECODE_H
1
+ #ifndef QUICKJS_BYTECODE_H
2
+ #define QUICKJS_BYTECODE_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_bytecode(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBBYTECODE_H */
8
+ #endif /* ifndef QUICKJS_BYTECODE_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBCONTEXT_H
2
- #define QUICKJS_LIBCONTEXT_H
1
+ #ifndef QUICKJS_CONTEXT_H
2
+ #define QUICKJS_CONTEXT_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_context(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBCONTEXT_H */
8
+ #endif /* ifndef QUICKJS_CONTEXT_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBENCODING_H
2
- #define QUICKJS_LIBENCODING_H
1
+ #ifndef QUICKJS_ENCODING_H
2
+ #define QUICKJS_ENCODING_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_encoding(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBENCODING_H */
8
+ #endif /* ifndef QUICKJS_ENCODING_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBENGINE_H
2
- #define QUICKJS_LIBENGINE_H
1
+ #ifndef QUICKJS_ENGINE_H
2
+ #define QUICKJS_ENGINE_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_engine(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBENGINE_H */
8
+ #endif /* ifndef QUICKJS_ENGINE_H */
@@ -6,12 +6,12 @@
6
6
  #include "quickjs-inspect.h"
7
7
  #include "quickjs-intervals.h"
8
8
  #include "quickjs-libc.h"
9
- #include "quickjs-libbytecode.h"
10
- #include "quickjs-libcontext.h"
11
- #include "quickjs-libpointer.h"
9
+ #include "quickjs-bytecode.h"
10
+ #include "quickjs-context.h"
11
+ #include "quickjs-pointer.h"
12
12
  #include "quickjs-modulesys.h"
13
- #include "quickjs-libengine.h"
14
- #include "quickjs-libencoding.h"
13
+ #include "quickjs-engine.h"
14
+ #include "quickjs-encoding.h"
15
15
 
16
16
  /* returns 0 on success, nonzero on failure */
17
17
  int quickjs_full_init(JSContext *ctx);
@@ -1,9 +1,9 @@
1
- #ifndef QUICKJS_LIBPOINTER_H
2
- #define QUICKJS_LIBPOINTER_H
1
+ #ifndef QUICKJS_POINTER_H
2
+ #define QUICKJS_POINTER_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_pointer(JSContext *ctx, const char *module_name);
7
7
  JSValue js_new_pointer(JSContext *ctx, void *value);
8
8
 
9
- #endif /* ifndef QUICKJS_LIBPOINTER_H */
9
+ #endif /* ifndef QUICKJS_POINTER_H */
@@ -3,9 +3,9 @@
3
3
  // Simple script which reads in a file, converts it to bytecode, and writes out
4
4
  // the bytecode to a new file.
5
5
 
6
- /// <reference path="../quickjs/quickjs.d.ts" />
7
- /// <reference path="../quickjs-libc/quickjs-libc.d.ts" />
8
- /// <reference path="../quickjs-libbytecode/quickjs-libbytecode.d.ts" />
6
+ /// <reference path="../../quickjs/quickjs.d.ts" />
7
+ /// <reference path="../../builtin-modules/quickjs-libc/quickjs-libc.d.ts" />
8
+ /// <reference path="../../builtin-modules/quickjs-bytecode/quickjs-bytecode.d.ts" />
9
9
 
10
10
  import * as std from "quickjs:std";
11
11
  import * as Bytecode from "quickjs:bytecode";
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBBYTECODE_H
2
- #define QUICKJS_LIBBYTECODE_H
1
+ #ifndef QUICKJS_BYTECODE_H
2
+ #define QUICKJS_BYTECODE_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_bytecode(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBBYTECODE_H */
8
+ #endif /* ifndef QUICKJS_BYTECODE_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBCONTEXT_H
2
- #define QUICKJS_LIBCONTEXT_H
1
+ #ifndef QUICKJS_CONTEXT_H
2
+ #define QUICKJS_CONTEXT_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_context(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBCONTEXT_H */
8
+ #endif /* ifndef QUICKJS_CONTEXT_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBENCODING_H
2
- #define QUICKJS_LIBENCODING_H
1
+ #ifndef QUICKJS_ENCODING_H
2
+ #define QUICKJS_ENCODING_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_encoding(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBENCODING_H */
8
+ #endif /* ifndef QUICKJS_ENCODING_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBENGINE_H
2
- #define QUICKJS_LIBENGINE_H
1
+ #ifndef QUICKJS_ENGINE_H
2
+ #define QUICKJS_ENGINE_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_engine(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBENGINE_H */
8
+ #endif /* ifndef QUICKJS_ENGINE_H */
@@ -6,12 +6,12 @@
6
6
  #include "quickjs-inspect.h"
7
7
  #include "quickjs-intervals.h"
8
8
  #include "quickjs-libc.h"
9
- #include "quickjs-libbytecode.h"
10
- #include "quickjs-libcontext.h"
11
- #include "quickjs-libpointer.h"
9
+ #include "quickjs-bytecode.h"
10
+ #include "quickjs-context.h"
11
+ #include "quickjs-pointer.h"
12
12
  #include "quickjs-modulesys.h"
13
- #include "quickjs-libengine.h"
14
- #include "quickjs-libencoding.h"
13
+ #include "quickjs-engine.h"
14
+ #include "quickjs-encoding.h"
15
15
 
16
16
  /* returns 0 on success, nonzero on failure */
17
17
  int quickjs_full_init(JSContext *ctx);
@@ -1,9 +1,9 @@
1
- #ifndef QUICKJS_LIBPOINTER_H
2
- #define QUICKJS_LIBPOINTER_H
1
+ #ifndef QUICKJS_POINTER_H
2
+ #define QUICKJS_POINTER_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_pointer(JSContext *ctx, const char *module_name);
7
7
  JSValue js_new_pointer(JSContext *ctx, void *value);
8
8
 
9
- #endif /* ifndef QUICKJS_LIBPOINTER_H */
9
+ #endif /* ifndef QUICKJS_POINTER_H */
@@ -3,9 +3,9 @@
3
3
  // Simple script which reads in a file, converts it to bytecode, and writes out
4
4
  // the bytecode to a new file.
5
5
 
6
- /// <reference path="../quickjs/quickjs.d.ts" />
7
- /// <reference path="../quickjs-libc/quickjs-libc.d.ts" />
8
- /// <reference path="../quickjs-libbytecode/quickjs-libbytecode.d.ts" />
6
+ /// <reference path="../../quickjs/quickjs.d.ts" />
7
+ /// <reference path="../../builtin-modules/quickjs-libc/quickjs-libc.d.ts" />
8
+ /// <reference path="../../builtin-modules/quickjs-bytecode/quickjs-bytecode.d.ts" />
9
9
 
10
10
  import * as std from "quickjs:std";
11
11
  import * as Bytecode from "quickjs:bytecode";
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBBYTECODE_H
2
- #define QUICKJS_LIBBYTECODE_H
1
+ #ifndef QUICKJS_BYTECODE_H
2
+ #define QUICKJS_BYTECODE_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_bytecode(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBBYTECODE_H */
8
+ #endif /* ifndef QUICKJS_BYTECODE_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBCONTEXT_H
2
- #define QUICKJS_LIBCONTEXT_H
1
+ #ifndef QUICKJS_CONTEXT_H
2
+ #define QUICKJS_CONTEXT_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_context(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBCONTEXT_H */
8
+ #endif /* ifndef QUICKJS_CONTEXT_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBENCODING_H
2
- #define QUICKJS_LIBENCODING_H
1
+ #ifndef QUICKJS_ENCODING_H
2
+ #define QUICKJS_ENCODING_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_encoding(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBENCODING_H */
8
+ #endif /* ifndef QUICKJS_ENCODING_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBENGINE_H
2
- #define QUICKJS_LIBENGINE_H
1
+ #ifndef QUICKJS_ENGINE_H
2
+ #define QUICKJS_ENGINE_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_engine(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBENGINE_H */
8
+ #endif /* ifndef QUICKJS_ENGINE_H */
@@ -6,12 +6,12 @@
6
6
  #include "quickjs-inspect.h"
7
7
  #include "quickjs-intervals.h"
8
8
  #include "quickjs-libc.h"
9
- #include "quickjs-libbytecode.h"
10
- #include "quickjs-libcontext.h"
11
- #include "quickjs-libpointer.h"
9
+ #include "quickjs-bytecode.h"
10
+ #include "quickjs-context.h"
11
+ #include "quickjs-pointer.h"
12
12
  #include "quickjs-modulesys.h"
13
- #include "quickjs-libengine.h"
14
- #include "quickjs-libencoding.h"
13
+ #include "quickjs-engine.h"
14
+ #include "quickjs-encoding.h"
15
15
 
16
16
  /* returns 0 on success, nonzero on failure */
17
17
  int quickjs_full_init(JSContext *ctx);
@@ -1,9 +1,9 @@
1
- #ifndef QUICKJS_LIBPOINTER_H
2
- #define QUICKJS_LIBPOINTER_H
1
+ #ifndef QUICKJS_POINTER_H
2
+ #define QUICKJS_POINTER_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_pointer(JSContext *ctx, const char *module_name);
7
7
  JSValue js_new_pointer(JSContext *ctx, void *value);
8
8
 
9
- #endif /* ifndef QUICKJS_LIBPOINTER_H */
9
+ #endif /* ifndef QUICKJS_POINTER_H */
@@ -3,9 +3,9 @@
3
3
  // Simple script which reads in a file, converts it to bytecode, and writes out
4
4
  // the bytecode to a new file.
5
5
 
6
- /// <reference path="../quickjs/quickjs.d.ts" />
7
- /// <reference path="../quickjs-libc/quickjs-libc.d.ts" />
8
- /// <reference path="../quickjs-libbytecode/quickjs-libbytecode.d.ts" />
6
+ /// <reference path="../../quickjs/quickjs.d.ts" />
7
+ /// <reference path="../../builtin-modules/quickjs-libc/quickjs-libc.d.ts" />
8
+ /// <reference path="../../builtin-modules/quickjs-bytecode/quickjs-bytecode.d.ts" />
9
9
 
10
10
  import * as std from "quickjs:std";
11
11
  import * as Bytecode from "quickjs:bytecode";
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBBYTECODE_H
2
- #define QUICKJS_LIBBYTECODE_H
1
+ #ifndef QUICKJS_BYTECODE_H
2
+ #define QUICKJS_BYTECODE_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_bytecode(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBBYTECODE_H */
8
+ #endif /* ifndef QUICKJS_BYTECODE_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBCONTEXT_H
2
- #define QUICKJS_LIBCONTEXT_H
1
+ #ifndef QUICKJS_CONTEXT_H
2
+ #define QUICKJS_CONTEXT_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_context(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBCONTEXT_H */
8
+ #endif /* ifndef QUICKJS_CONTEXT_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBENCODING_H
2
- #define QUICKJS_LIBENCODING_H
1
+ #ifndef QUICKJS_ENCODING_H
2
+ #define QUICKJS_ENCODING_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_encoding(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBENCODING_H */
8
+ #endif /* ifndef QUICKJS_ENCODING_H */
@@ -1,8 +1,8 @@
1
- #ifndef QUICKJS_LIBENGINE_H
2
- #define QUICKJS_LIBENGINE_H
1
+ #ifndef QUICKJS_ENGINE_H
2
+ #define QUICKJS_ENGINE_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_engine(JSContext *ctx, const char *module_name);
7
7
 
8
- #endif /* ifndef QUICKJS_LIBENGINE_H */
8
+ #endif /* ifndef QUICKJS_ENGINE_H */
@@ -6,12 +6,12 @@
6
6
  #include "quickjs-inspect.h"
7
7
  #include "quickjs-intervals.h"
8
8
  #include "quickjs-libc.h"
9
- #include "quickjs-libbytecode.h"
10
- #include "quickjs-libcontext.h"
11
- #include "quickjs-libpointer.h"
9
+ #include "quickjs-bytecode.h"
10
+ #include "quickjs-context.h"
11
+ #include "quickjs-pointer.h"
12
12
  #include "quickjs-modulesys.h"
13
- #include "quickjs-libengine.h"
14
- #include "quickjs-libencoding.h"
13
+ #include "quickjs-engine.h"
14
+ #include "quickjs-encoding.h"
15
15
 
16
16
  /* returns 0 on success, nonzero on failure */
17
17
  int quickjs_full_init(JSContext *ctx);
@@ -1,9 +1,9 @@
1
- #ifndef QUICKJS_LIBPOINTER_H
2
- #define QUICKJS_LIBPOINTER_H
1
+ #ifndef QUICKJS_POINTER_H
2
+ #define QUICKJS_POINTER_H
3
3
 
4
4
  #include "quickjs.h"
5
5
 
6
6
  JSModuleDef *js_init_module_pointer(JSContext *ctx, const char *module_name);
7
7
  JSValue js_new_pointer(JSContext *ctx, void *value);
8
8
 
9
- #endif /* ifndef QUICKJS_LIBPOINTER_H */
9
+ #endif /* ifndef QUICKJS_POINTER_H */
@@ -288,6 +288,27 @@ declare module "quickjs:std" {
288
288
  */
289
289
  export function getegid(): number;
290
290
 
291
+ /** The type of the object returned by {@link getpwuid}. */
292
+ export interface PasswdEntry {
293
+ name: string;
294
+ passwd: string;
295
+ uid: number;
296
+ gid: number;
297
+ gecos: string;
298
+ dir: string;
299
+ shell: string;
300
+ }
301
+
302
+ /**
303
+ * Get information from the passwd file entry for the specified user id.
304
+ *
305
+ * See https://linux.die.net/man/3/getpwuid.
306
+ *
307
+ * This function throws an error on windows, because windows doesn't support
308
+ * the same uid/gid paradigm as Unix-like operating systems.
309
+ */
310
+ export function getpwuid(id: number): PasswdEntry;
311
+
291
312
  interface UrlGet {
292
313
  /**
293
314
  * Download `url` using the `curl` command line utility. Returns string
@@ -61,6 +61,15 @@ interface ModuleDelegate {
61
61
  [extensionWithDot: string]: (filename: string, content: string) => string;
62
62
  };
63
63
 
64
+ /**
65
+ * An Array containing the names of all the built-in modules, such as
66
+ * "quickjs:std", "quickjs:bytecode", etc.
67
+ *
68
+ * `quickjs:engine`'s `defineBuiltinModule` function adds to the end of this
69
+ * array.
70
+ */
71
+ builtinModuleNames: Array<string>;
72
+
64
73
  /**
65
74
  * Resolves a require/import request from `fromFile` into a canonicalized
66
75
  * path.
@@ -6,7 +6,7 @@ declare module "quickjs:pointer" {
6
6
  static NULL: Pointer;
7
7
 
8
8
  /** Returns a boolean indicating whether the provided value is a `Pointer` object. */
9
- static isPointer(value: any): boolean;
9
+ static isPointer(value: any): value is Pointer;
10
10
 
11
11
  /** For debug logging purposes only; format can vary from platform to platform and is not guaranteed to be present or consistent. */
12
12
  _info?: string;