loader

module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2026 License: MIT

README

Loader

The official config loader for Tableau.

Prerequisites

TODO: devcontainer

  • C++ standard: at least C++17
  • Install: CMake 3.22 or above
  • Init protobuf:
    • macOS or Linux: bash init.sh
    • Windows:
      • Install Visual Studio 2022
      • Environment Setup: Open the appropriate Developer Command Prompt for VS 2022 from the Start menu to ensure cl.exe and other build tools are in your PATH.
      • Change dir to loader repo
      • Run: .\init.bat

C++

Dev at Linux
  • Change dir: cd test/cpp-tableau-loader
  • Generate protoconf: bash ./gen.sh
  • CMake:
    • C++17: cmake -S . -B build
    • C++20: cmake -S . -B build -DCMAKE_CXX_STANDARD=20
    • clang: cmake -S . -B build -DCMAKE_CXX_COMPILER=clang++
  • Build: cmake --build build -j16
  • Run: ./bin/loader
Dev at Windows
  • Change dir: cd test\cpp-tableau-loader
  • Generate protoconf: .\gen.bat
  • CMake:
    • C++17: cmake -S . -B build -G "NMake Makefiles"
    • C++20: cmake -S . -B build -G "NMake Makefiles" -DCMAKE_CXX_STANDARD=20
  • Build: cmake --build build
  • Run: .\bin\loader.exe
References

Go

  • Install: go1.21 or above
  • Install protoc-gen-go: go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
  • Change dir: cd test/go-tableau-loader
  • Generate protoconf: bash ./gen.sh
  • Build: go build
References

TypeScript

Requirements
  • nodejs v16.0.0
  • protobufjs v7.2.3
Test
  • Change dir: cd test/ts-tableau-loader
  • Install depedencies: npm install
  • Generate protoconf: npm run generate
  • Test: npm run test
Problems in protobufjs:

protobufjs: Reflection vs. static code

If using reflection (.proto or JSON) but not static code, and for well-known types support, then proto3-json-serializer is a good option. This library implements proto3 JSON serialization and deserialization for protobuf.js protobuf objects according to the spec.

References:

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL