Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions .github/workflows/testing-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,7 @@ jobs:
run: Add-Content -Path $env:GITHUB_PATH -Value "$env:VCPKG_INSTALLED_DIR\${{ matrix.triplet }}\tools\protobuf"

- name: Install Buf
uses: bufbuild/buf-action@v1
with:
version: ${{ env.BUF_VERSION }}
setup_only: true
github_token: ${{ secrets.GITHUB_TOKEN }}
run: python3 make.py setup --lang go

- name: Test
# Pass --vcpkg-baseline explicitly so make.py reuses the SHA we
Expand Down
10 changes: 3 additions & 7 deletions .github/workflows/testing-csharp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,17 +52,13 @@ jobs:
version: "33.4"
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Install Buf
uses: bufbuild/buf-action@v1
with:
version: ${{ env.BUF_VERSION }}
setup_only: true
github_token: ${{ secrets.GITHUB_TOKEN }}

- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: '3.12'

- name: Install Buf
run: python3 make.py setup --lang go

- name: Test
run: python3 make.py test --lang csharp
10 changes: 3 additions & 7 deletions .github/workflows/testing-go.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,18 +39,14 @@ jobs:
cache-dependency-path: go.sum
cache: true

- name: Install Buf
uses: bufbuild/buf-action@v1
with:
version: ${{ env.BUF_VERSION }}
setup_only: true
github_token: ${{ secrets.GITHUB_TOKEN }}

- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.12"

- name: Install Buf
run: python3 make.py setup --lang go

- name: Test
# `make.py test --lang go` runs `buf generate` then `go test`, which
# transitively vets every package (compilation = type-check + vet).
Expand Down
53 changes: 50 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,53 @@
# Loader

The official config loader for [Tableau](https://github.com/tableauio/tableau).
<p align="center">
<a href="https://tableauio.github.io/">
<img alt="Tableau" src="https://avatars.githubusercontent.com/u/97329105?s=200&v=4" width="160">
</a>
</p>

<h3 align="center">Tableau Loader</h3>

<table align="center"><tr>
<td align="center"><b>Loader</b></td>
<td>
<a href="https://github.com/tableauio/loader/releases"><img src="https://img.shields.io/github/v/release/tableauio/loader?filter=v*&include_prereleases&style=flat-square" alt="Loader release version"></a>
<a href="https://pkg.go.dev/github.com/tableauio/loader"><img src="https://pkg.go.dev/badge/github.com/tableauio/loader.svg" alt="Go pkg"></a>
</td>
</tr><tr>
<td align="center"><b>Go</b></td>
<td>
<a href="https://github.com/tableauio/loader/releases?q=protoc-gen-go-tableau-loader"><img src="https://img.shields.io/github/v/release/tableauio/loader?filter=*protoc-gen-go-tableau-loader*&display_name=release&style=flat-square" alt="Release Go version"></a>
</td>
</tr><tr>
<td align="center"><b>C++</b></td>
<td>
<a href="https://github.com/tableauio/loader/releases?q=protoc-gen-cpp-tableau-loader"><img src="https://img.shields.io/github/v/release/tableauio/loader?filter=*protoc-gen-cpp-tableau-loader*&display_name=release&style=flat-square" alt="Release C++ version"></a>
</td>
</tr><tr>
<td align="center"><b>C#</b></td>
<td>
<a href="https://github.com/tableauio/loader/releases?q=protoc-gen-csharp-tableau-loader"><img src="https://img.shields.io/github/v/release/tableauio/loader?filter=*protoc-gen-csharp-tableau-loader*&display_name=release&style=flat-square" alt="Release C# version"></a>
</td>
</tr><tr>
<td align="center"><b>Release</b></td>
<td>
<a href="https://github.com/tableauio/loader/actions/workflows/release-go.yml"><img src="https://github.com/tableauio/loader/actions/workflows/release-go.yml/badge.svg" alt="Release Go"></a>
<a href="https://github.com/tableauio/loader/actions/workflows/release-cpp.yml"><img src="https://github.com/tableauio/loader/actions/workflows/release-cpp.yml/badge.svg" alt="Release C++"></a>
<a href="https://github.com/tableauio/loader/actions/workflows/release-csharp.yml"><img src="https://github.com/tableauio/loader/actions/workflows/release-csharp.yml/badge.svg" alt="Release C#"></a>
</td>
</tr><tr>
<td align="center"><b>Testing</b></td>
<td>
<a href="https://github.com/tableauio/loader/actions/workflows/testing-go.yml"><img src="https://github.com/tableauio/loader/actions/workflows/testing-go.yml/badge.svg" alt="Testing Go"></a>
<a href="https://github.com/tableauio/loader/actions/workflows/testing-cpp.yml"><img src="https://github.com/tableauio/loader/actions/workflows/testing-cpp.yml/badge.svg" alt="Testing C++"></a>
<a href="https://github.com/tableauio/loader/actions/workflows/testing-csharp.yml"><img src="https://github.com/tableauio/loader/actions/workflows/testing-csharp.yml/badge.svg" alt="Testing C#"></a>
<a href="https://github.com/tableauio/loader/actions/workflows/testing-make.yml"><img src="https://github.com/tableauio/loader/actions/workflows/testing-make.yml/badge.svg" alt="Testing make.py"></a>
</td>
</tr><tr>
<td align="center"><b>License</b></td>
<td>
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/github/license/tableauio/loader?style=flat-square" alt="License"></a>
</td>
</tr></table>

| Plugin | Language | Generated extension |
| --- | --- | --- |
Expand Down
25 changes: 25 additions & 0 deletions _lab/ts/buf.gen.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
version: v2
# PoC: mirror the existing per-language buf.gen.yaml pattern, where a "base"
# plugin emits the message types and (later) protoc-gen-tableau-ts wraps them
# into Messager/Hub/index code — exactly like protocolbuffers/go +
# protoc-gen-go-tableau-loader on the Go side.
#
# Here only the base plugin (protobuf-es) runs; it generates the protobuf
# message classes we deserialize tableau's protojson output into.
plugins:
# Run the protobuf-es generator as a BSR remote plugin (mirrors the Go side's
# `remote: buf.build/protocolbuffers/go`). Keep this version in lockstep with
# the @bufbuild/protobuf runtime in package.json: the generated *_pb.ts import
# from @bufbuild/protobuf at runtime, so generator and runtime must match.
- remote: buf.build/bufbuild/es:v2.2.3
out: src/protoconf
# The proto files use tableau.* extension options, so the generated
# message modules import the tableau/protobuf descriptors; pull those
# dependencies in here (mirrors include_imports in the cpp/csharp
# buf.gen.yaml) instead of passing --include-imports on the CLI.
include_imports: true
opt:
- target=ts
# Emit explicit ".js" extensions on relative imports so the output is
# valid under TS's nodenext/node16 ESM resolution (and plain Node ESM).
- import_extension=js
8 changes: 0 additions & 8 deletions _lab/ts/nodemon.json

This file was deleted.

Loading
Loading