Skip to content

feat(test): smoke testing with clean setup.#1846

Merged
samchon merged 2 commits into
nextfrom
test/experimental
May 11, 2026
Merged

feat(test): smoke testing with clean setup.#1846
samchon merged 2 commits into
nextfrom
test/experimental

Conversation

@samchon
Copy link
Copy Markdown
Owner

@samchon samchon commented May 11, 2026

This pull request introduces a new "smoke test" workflow to validate the integrity of the packed npm tarballs for the typia project. The smoke test simulates a fresh npm consumer environment, ensuring that the tarballs can be installed and used as expected, and that the ttsc TypeScript compiler can build a simple project using the published packages.

New smoke test infrastructure:

  • Added a new experiments/smoke directory containing a minimal npm project that installs the packed tarballs and verifies typia functionality with a basic type check (typia.is). (experiments/smoke/package.json, experiments/smoke/src/index.ts, experiments/smoke/tsconfig.json, [1] [2] [3]
  • Created a README.md in experiments/smoke explaining the purpose and process of the smoke test.

CI workflow enhancements:

  • Updated .github/workflows/experiments.yml to run the smoke test after building tarballs, using npm to install and start the test project, and setting up a cache directory for ttsc.

@samchon samchon self-assigned this May 11, 2026
@samchon samchon added the enhancement New feature or request label May 11, 2026
@socket-security
Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm svelte is 91.0% likely obfuscated

Confidence: 0.91

Location: Package overview

From: pnpm-lock.yamlnpm/@trivago/[email protected]npm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@samchon samchon marked this pull request as ready for review May 11, 2026 10:26
Copilot AI review requested due to automatic review settings May 11, 2026 10:26
@samchon samchon merged commit d08ba7a into next May 11, 2026
4 checks passed
@samchon samchon deleted the test/experimental branch May 11, 2026 10:26
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new smoke-test “consumer” project under experiments/smoke and wires it into CI to validate that locally packed tarballs from experiments/tarballs can be installed and exercised in a clean npm install context (including running a minimal typia.is call through the ttsc/native backend toolchain).

Changes:

  • Introduce experiments/smoke minimal npm project (package.json, tsconfig, and a small typia.is runtime check).
  • Add brief documentation for the smoke test’s intent and how it validates packed tarballs.
  • Extend .github/workflows/experiments.yml to run the smoke test after building tarballs.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
experiments/smoke/package.json Defines smoke project dependencies/scripts using packed tarballs and ttsx runner.
experiments/smoke/tsconfig.json TypeScript config for running the smoke project (includes Typia transform config).
experiments/smoke/src/index.ts Minimal runtime assertion that typia.is works in the smoke environment.
experiments/smoke/README.md Documents what the smoke test validates and why it uses npm.
.github/workflows/experiments.yml Runs the smoke test in CI after tarball packaging.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

},
"devDependencies": {
"@typescript/native-preview": "7.0.0-dev.20260510.1",
"ttsc": "^0.10.0"
Comment on lines +8 to +13
"outDir": "lib",
"plugins": [
{
"transform": "typia/lib/transform"
}
]
- name: Test Smoke
working-directory: experiments/smoke
run: |
npm install

Validates the packed npm tarballs from `experiments/tarballs` in a fresh npm
consumer project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants