aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorJeroen van Rijn <Kelimion@users.noreply.github.com>2025-06-03 20:01:22 +0200
committerJeroen van Rijn <Kelimion@users.noreply.github.com>2025-06-04 11:08:25 +0200
commitae5c92ac38dd7facce8a61b110e08b1b4a2a4238 (patch)
tree16e78531439db7fce856f93ff4f064647f40eaad /examples
parent986cfbcaf4aa6300109e93c114e439d2578887af (diff)
Enable `odin check examples/all` for JS.
Diffstat (limited to 'examples')
-rw-r--r--examples/all/all_js.odin148
-rw-r--r--examples/all/all_linux.odin9
-rw-r--r--examples/all/all_main.odin6
-rw-r--r--examples/all/all_posix.odin7
-rw-r--r--examples/all/all_vendor.odin138
-rw-r--r--examples/all/all_vendor_js.odin13
-rw-r--r--examples/all/all_vendor_windows.odin21
7 files changed, 217 insertions, 125 deletions
diff --git a/examples/all/all_js.odin b/examples/all/all_js.odin
new file mode 100644
index 000000000..28b85f537
--- /dev/null
+++ b/examples/all/all_js.odin
@@ -0,0 +1,148 @@
+#+build js
+package all
+
+// Imports "every" package
+// This is useful for knowing what exists and producing documentation with `odin doc`
+
+@(require) import "core:bufio"
+@(require) import "core:bytes"
+@(require) import "core:c"
+
+@(require) import "core:compress"
+@(require) import "core:compress/shoco"
+@(require) import "core:compress/gzip"
+@(require) import "core:compress/zlib"
+
+@(require) import "core:container/avl"
+@(require) import "core:container/bit_array"
+@(require) import "core:container/priority_queue"
+@(require) import "core:container/queue"
+@(require) import "core:container/small_array"
+@(require) import "core:container/lru"
+@(require) import "core:container/intrusive/list"
+@(require) import "core:container/rbtree"
+@(require) import "core:container/topological_sort"
+
+@(require) import "core:crypto"
+@(require) import "core:crypto/aead"
+@(require) import "core:crypto/aegis"
+@(require) import "core:crypto/aes"
+@(require) import "core:crypto/blake2b"
+@(require) import "core:crypto/blake2s"
+@(require) import "core:crypto/chacha20"
+@(require) import "core:crypto/chacha20poly1305"
+@(require) import chash "core:crypto/hash"
+@(require) import "core:crypto/deoxysii"
+@(require) import "core:crypto/ed25519"
+@(require) import "core:crypto/hkdf"
+@(require) import "core:crypto/hmac"
+@(require) import "core:crypto/kmac"
+@(require) import "core:crypto/legacy/keccak"
+@(require) import "core:crypto/legacy/md5"
+@(require) import "core:crypto/legacy/sha1"
+@(require) import "core:crypto/pbkdf2"
+@(require) import "core:crypto/poly1305"
+@(require) import "core:crypto/ristretto255"
+@(require) import "core:crypto/sha2"
+@(require) import "core:crypto/sha3"
+@(require) import "core:crypto/shake"
+@(require) import "core:crypto/sm3"
+@(require) import "core:crypto/tuplehash"
+@(require) import "core:crypto/x25519"
+@(require) import "core:crypto/x448"
+
+@(require) import "core:debug/pe"
+@(require) import "core:debug/trace"
+
+@(require) import "core:dynlib"
+@(require) import "core:net"
+
+@(require) import "core:encoding/base32"
+@(require) import "core:encoding/base64"
+@(require) import "core:encoding/cbor"
+@(require) import "core:encoding/csv"
+@(require) import "core:encoding/endian"
+@(require) import "core:encoding/hxa"
+@(require) import "core:encoding/ini"
+@(require) import "core:encoding/json"
+@(require) import "core:encoding/varint"
+@(require) import "core:encoding/xml"
+@(require) import "core:encoding/uuid"
+@(require) import "core:encoding/uuid/legacy"
+
+@(require) import "core:fmt"
+@(require) import "core:hash"
+@(require) import "core:hash/xxhash"
+
+@(require) import "core:image"
+@(require) import "core:image/bmp"
+@(require) import "core:image/netpbm"
+@(require) import "core:image/png"
+@(require) import "core:image/qoi"
+@(require) import "core:image/tga"
+
+@(require) import "core:io"
+@(require) import "core:log"
+
+@(require) import "core:math"
+@(require) import "core:math/big"
+@(require) import "core:math/bits"
+@(require) import "core:math/fixed"
+@(require) import "core:math/linalg"
+@(require) import "core:math/linalg/glsl"
+@(require) import "core:math/linalg/hlsl"
+@(require) import "core:math/noise"
+@(require) import "core:math/rand"
+@(require) import "core:math/ease"
+@(require) import "core:math/cmplx"
+
+@(require) import "core:mem"
+@(require) import "core:mem/tlsf"
+@(require) import "core:mem/virtual"
+
+@(require) import "core:odin/ast"
+@(require) import doc_format "core:odin/doc-format"
+
+@(require) import "core:odin/tokenizer"
+@(require) import "core:os"
+@(require) import "core:path/slashpath"
+
+@(require) import "core:relative"
+
+@(require) import "core:reflect"
+@(require) import "base:runtime"
+@(require) import "base:sanitizer"
+@(require) import "core:simd"
+@(require) import "core:simd/x86"
+@(require) import "core:slice"
+@(require) import "core:slice/heap"
+@(require) import "core:sort"
+@(require) import "core:strconv"
+@(require) import "core:strings"
+@(require) import "core:sync"
+
+@(require) import "core:terminal"
+@(require) import "core:terminal/ansi"
+
+@(require) import "core:text/edit"
+@(require) import "core:text/i18n"
+@(require) import "core:text/match"
+@(require) import "core:text/regex"
+@(require) import "core:text/scanner"
+@(require) import "core:text/table"
+
+@(require) import "core:thread"
+@(require) import "core:time"
+@(require) import "core:time/datetime"
+@(require) import "core:time/timezone"
+
+
+@(require) import "core:sys/orca"
+@(require) import "core:sys/info"
+
+@(require) import "core:unicode"
+@(require) import "core:unicode/utf8"
+@(require) import "core:unicode/utf8/utf8string"
+@(require) import "core:unicode/utf16"
+
+main :: proc() {} \ No newline at end of file
diff --git a/examples/all/all_linux.odin b/examples/all/all_linux.odin
index dde712b8d..2b70fa1e1 100644
--- a/examples/all/all_linux.odin
+++ b/examples/all/all_linux.odin
@@ -1,10 +1,5 @@
#+build linux
package all
-import linux "core:sys/linux"
-
-import xlib "vendor:x11/xlib"
-
-_ :: linux
-
-_ :: xlib
+@(require) import "core:sys/linux"
+@(require) import "vendor:x11/xlib" \ No newline at end of file
diff --git a/examples/all/all_main.odin b/examples/all/all_main.odin
index de037f6cd..26d41a77a 100644
--- a/examples/all/all_main.odin
+++ b/examples/all/all_main.odin
@@ -1,3 +1,4 @@
+#+build !js
package all
// Imports every package
@@ -152,9 +153,6 @@ import utf8 "core:unicode/utf8"
import utf8string "core:unicode/utf8/utf8string"
import utf16 "core:unicode/utf16"
-main :: proc(){}
-
-
_ :: bufio
_ :: bytes
_ :: c
@@ -280,3 +278,5 @@ _ :: utf8
_ :: utf8string
_ :: utf16
_ :: sanitizer
+
+main :: proc() {} \ No newline at end of file
diff --git a/examples/all/all_posix.odin b/examples/all/all_posix.odin
index 61b33a5c6..3e05f74ff 100644
--- a/examples/all/all_posix.odin
+++ b/examples/all/all_posix.odin
@@ -1,8 +1,5 @@
#+build darwin, openbsd, freebsd, netbsd
package all
-import posix "core:sys/posix"
-import kqueue "core:sys/kqueue"
-
-_ :: posix
-_ :: kqueue
+@(require) import "core:sys/posix"
+@(require) import "core:sys/kqueue" \ No newline at end of file
diff --git a/examples/all/all_vendor.odin b/examples/all/all_vendor.odin
index ebbfe786b..a41f9f986 100644
--- a/examples/all/all_vendor.odin
+++ b/examples/all/all_vendor.odin
@@ -1,102 +1,48 @@
+#+build !js
package all
-import cgltf "vendor:cgltf"
-// import commonmark "vendor:commonmark"
-import ENet "vendor:ENet"
-import exr "vendor:OpenEXRCore"
-import ggpo "vendor:ggpo"
-import gl "vendor:OpenGL"
-import glfw "vendor:glfw"
-import microui "vendor:microui"
-import miniaudio "vendor:miniaudio"
-import PM "vendor:portmidi"
-import rl "vendor:raylib"
-import zlib "vendor:zlib"
-
-import SDL "vendor:sdl2"
-import SDLNet "vendor:sdl2/net"
-import IMG "vendor:sdl2/image"
-import MIX "vendor:sdl2/mixer"
-import TTF "vendor:sdl2/ttf"
-
-import vk "vendor:vulkan"
+@(require) import "vendor:cgltf"
+@(require) import "vendor:ENet"
+@(require) import "vendor:OpenEXRCore"
+@(require) import "vendor:ggpo"
+@(require) import "vendor:OpenGL"
+@(require) import "vendor:glfw"
+@(require) import "vendor:microui"
+@(require) import "vendor:miniaudio"
+@(require) import "vendor:portmidi"
+@(require) import "vendor:raylib"
+@(require) import "vendor:zlib"
+
+@(require) import "vendor:sdl2"
+@(require) import "vendor:sdl2/net"
+@(require) import "vendor:sdl2/image"
+@(require) import "vendor:sdl2/mixer"
+@(require) import "vendor:sdl2/ttf"
+
+@(require) import "vendor:vulkan"
// NOTE(bill): only one can be checked at a time
-import lua_5_4 "vendor:lua/5.4"
-
-import nvg "vendor:nanovg"
-import nvg_gl "vendor:nanovg/gl"
-import fontstash "vendor:fontstash"
-
-_ :: cgltf
-// _ :: commonmark
-_ :: ENet
-_ :: exr
-_ :: ggpo
-_ :: gl
-_ :: glfw
-_ :: microui
-_ :: miniaudio
-_ :: PM
-_ :: rl
-_ :: zlib
-
-_ :: SDL
-_ :: SDLNet
-_ :: IMG
-_ :: MIX
-_ :: TTF
-
-_ :: vk
-
-_ :: lua_5_4
-
-_ :: nvg
-_ :: nvg_gl
-_ :: fontstash
-
+@(require) import lua54 "vendor:lua/5.4"
+@(require) import "vendor:nanovg"
+@(require) import "vendor:nanovg/gl"
+@(require) import "vendor:fontstash"
// NOTE: needed for doc generator
-
-import NS "core:sys/darwin/Foundation"
-import CF "core:sys/darwin/CoreFoundation"
-import SEC "core:sys/darwin/Security"
-import MTL "vendor:darwin/Metal"
-import MTK "vendor:darwin/MetalKit"
-import CA "vendor:darwin/QuartzCore"
-
-_ :: NS
-_ :: CF
-_ :: SEC
-_ :: MTL
-_ :: MTK
-_ :: CA
-
-
-import DXC "vendor:directx/dxc"
-import D3D11 "vendor:directx/d3d11"
-import D3D12 "vendor:directx/d3d12"
-import DXGI "vendor:directx/dxgi"
-
-_ :: DXC
-_ :: D3D11
-_ :: D3D12
-_ :: DXGI
-
-
-import cm "vendor:commonmark"
-_ :: cm
-
-
-import stb_easy_font "vendor:stb/easy_font"
-import stbi "vendor:stb/image"
-import stbrp "vendor:stb/rect_pack"
-import stbtt "vendor:stb/truetype"
-import stb_vorbis "vendor:stb/vorbis"
-
-_ :: stb_easy_font
-_ :: stbi
-_ :: stbrp
-_ :: stbtt
-_ :: stb_vorbis
-
+@(require) import "core:sys/darwin/Foundation"
+@(require) import "core:sys/darwin/CoreFoundation"
+@(require) import "core:sys/darwin/Security"
+@(require) import "vendor:darwin/Metal"
+@(require) import "vendor:darwin/MetalKit"
+@(require) import "vendor:darwin/QuartzCore"
+
+@(require) import "vendor:directx/dxc"
+@(require) import "vendor:directx/d3d11"
+@(require) import "vendor:directx/d3d12"
+@(require) import "vendor:directx/dxgi"
+@(require) import "vendor:commonmark"
+
+@(require) import "vendor:stb/easy_font"
+@(require) import stbi "vendor:stb/image"
+@(require) import "vendor:stb/rect_pack"
+@(require) import "vendor:stb/truetype"
+@(require) import "vendor:stb/vorbis" \ No newline at end of file
diff --git a/examples/all/all_vendor_js.odin b/examples/all/all_vendor_js.odin
new file mode 100644
index 000000000..d7975541d
--- /dev/null
+++ b/examples/all/all_vendor_js.odin
@@ -0,0 +1,13 @@
+#+build js
+package all
+
+@(require) import "vendor:box2d"
+@(require) import "vendor:cgltf"
+@(require) import "vendor:fontstash"
+@(require) import "vendor:microui"
+@(require) import "vendor:stb/easy_font"
+@(require) import "vendor:stb/image"
+@(require) import "vendor:stb/rect_pack"
+@(require) import "vendor:stb/truetype"
+@(require) import "vendor:wgpu"
+@(require) import "vendor:wasm/WebGL" \ No newline at end of file
diff --git a/examples/all/all_vendor_windows.odin b/examples/all/all_vendor_windows.odin
index 3daf527ce..b71b69a5a 100644
--- a/examples/all/all_vendor_windows.odin
+++ b/examples/all/all_vendor_windows.odin
@@ -1,16 +1,9 @@
+#+build windows
package all
-import wgpu "vendor:wgpu"
-import wgpu_glfw_glue "vendor:wgpu/glfwglue"
-import wgpu_sdl_glue "vendor:wgpu/sdl2glue"
-import b2 "vendor:box2d"
-import game_input "vendor:windows/GameInput"
-import XAudio2 "vendor:windows/XAudio2"
-
-_ :: wgpu
-_ :: wgpu_glfw_glue
-_ :: wgpu_sdl_glue
-_ :: b2
-_ :: game_input
-_ :: XAudio2
-
+@(require) import "vendor:wgpu/glfwglue"
+@(require) import "vendor:wgpu/sdl2glue"
+@(require) import "vendor:wgpu"
+@(require) import "vendor:box2d"
+@(require) import "vendor:windows/GameInput"
+@(require) import "vendor:windows/XAudio2" \ No newline at end of file