Enable odin check examples/all for JS.

This commit is contained in:
Jeroen van Rijn
2025-06-03 20:01:22 +02:00
parent 986cfbcaf4
commit ae5c92ac38
12 changed files with 269 additions and 125 deletions

148
examples/all/all_js.odin Normal file
View File

@@ -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() {}

View File

@@ -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"

View File

@@ -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() {}

View File

@@ -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"

View File

@@ -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"
@(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"
import SDL "vendor:sdl2"
import SDLNet "vendor:sdl2/net"
import IMG "vendor:sdl2/image"
import MIX "vendor:sdl2/mixer"
import TTF "vendor:sdl2/ttf"
@(require) import "vendor:sdl2"
@(require) import "vendor:sdl2/net"
@(require) import "vendor:sdl2/image"
@(require) import "vendor:sdl2/mixer"
@(require) import "vendor:sdl2/ttf"
import vk "vendor:vulkan"
@(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
@(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"
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 "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"

View File

@@ -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"

View File

@@ -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"