Skip to content

fix(typia): make ttsc-typia single-file transform honor typia diagnostics #756

fix(typia): make ttsc-typia single-file transform honor typia diagnostics

fix(typia): make ttsc-typia single-file transform honor typia diagnostics #756

Workflow file for this run

name: experiments
on:
pull_request:
paths:
- '.github/workflows/experiments.yml'
- 'packages/**'
- 'experiments/**'
- 'package.json'
- 'pnpm-lock.yaml'
- 'pnpm-workspace.yaml'
jobs:
Ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24.x
- uses: actions/setup-go@v5
with:
go-version: 1.26.x
- uses: pnpm/action-setup@v4
- name: Install Dependencies
run: pnpm install
# ttsc compiles the typia Go plugin on first use into
# node_modules/.cache/ttsc, keyed by content (plugin source + ttsc/tsgo
# versions). Restoring a stale cache is safe: a changed source misses the
# binary key but still reuses the incremental go-build objects. Restored
# after `pnpm install` so an install-time node_modules rebuild cannot
# discard it.
- name: Restore ttsc Plugin Cache
uses: actions/cache@v4
with:
path: node_modules/.cache/ttsc
key: ttsc-cache-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'packages/typia/native/**') }}
restore-keys: ttsc-cache-${{ runner.os }}-
- name: Build Tarballs
run: pnpm run package:tgz
- name: Test Smoke
working-directory: experiments/smoke
run: |
npm install
npm start
# Real ESM consumers resolve the `import` condition to the bundled
# lib/**/*.mjs — a path no ttsx/source-level suite exercises. These two
# projects install from the staged tarballs, compile as
# `"type": "module"`, and run with plain node.
- name: Test ESM
working-directory: experiments/esm
run: |
npm install
npm run build
npm test
- name: Test MCP
working-directory: experiments/mcp
run: |
npm install
npm run build
npm test