Skip to content

feat(ttsc): finalize ttsc and ttsx.#1817

Merged
samchon merged 19 commits intonextfrom
feat/separate-ttsc
Apr 24, 2026
Merged

feat(ttsc): finalize ttsc and ttsx.#1817
samchon merged 19 commits intonextfrom
feat/separate-ttsc

Conversation

@samchon
Copy link
Copy Markdown
Owner

@samchon samchon commented Apr 24, 2026

This pull request introduces a new experiment for validating the typia setup wizard, along with related updates to CI workflows, TypeScript configuration, and example scripts. The most significant change is the addition of the experiments/setup directory, which contains a comprehensive test suite for migration scenarios from legacy ts-patch setups to the new plugin-based approach. Additional changes improve TypeScript settings for compatibility and update build/test scripts and CI workflows.

Experiment: Setup Wizard Validation

  • Added the experiments/setup directory, including a .gitignore, README.md, package.json, package-lock.json, and a suite of scenario-based test files under src/features/. These tests validate migration from legacy ts-patch setups, ensure correct cleanup and preservation of package.json fields, and verify proper tsconfig.json plugin configuration. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]

CI Workflow Updates

  • Updated .github/workflows/experiments.yml to add a new job for testing the experiments/setup directory.
  • Updated .github/workflows/website.yml to include a step for building the toolchain with pnpm build:toolchain.

TypeScript Configuration Changes

  • Changed moduleResolution from node to bundler and included all types ("types": ["*"]) in both config/tsconfig.json and examples/tsconfig.json for better compatibility with new plugin systems. [1] [2]
  • Disabled noUnusedLocals and noUnusedParameters in config/tsconfig.json to reduce noise during migration and experimentation.
  • Added ignoreDeprecations to suppress TypeScript 6.0 deprecation warnings.

Example Build Script Update

  • Updated the build script in examples/package.json to simplify and ensure correct formatting of output files.

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

socket-security Bot commented Apr 24, 2026

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

View full report

@samchon samchon changed the title feat(ttsc): stabilize and separate ttsc / ttsx. feat(ttsc): finalize ttsc and ttsx. Apr 24, 2026
@samchon samchon marked this pull request as ready for review April 24, 2026 13:29
Copilot AI review requested due to automatic review settings April 24, 2026 13:29
@samchon samchon merged commit 0ad1b66 into next Apr 24, 2026
7 checks passed
@samchon samchon deleted the feat/separate-ttsc branch April 24, 2026 13:30
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

Note

Copilot was unable to run its full agentic suite in this review.

This PR aims to finalize the ttsc/ttsx toolchain workflows by simplifying build invocations, enforcing toolchain-first publishing, and expanding test infrastructure via a new setup-wizard experiment.

Changes:

  • Publish ordering updated so toolchain packages are published before main packages (next and latest).
  • New experiments/setup package added to validate typia setup behavior against locally packed .tgz installs.
  • TypeScript config defaults updated in config/ and examples/ (module resolution/type inclusion), plus minor build script tweaks.

Reviewed changes

Copilot reviewed 172 out of 558 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
packages/core/src/programmers/iterate/wrap_metadata_rest_tuple.ts Removed (core iteration implementation no longer present in this package path)
packages/core/src/programmers/iterate/template_to_pattern.ts Removed (core iteration implementation no longer present in this package path)
packages/core/src/programmers/iterate/stringify_regular_properties.ts Removed (core iteration implementation no longer present in this package path)
packages/core/src/programmers/iterate/stringify_native.ts Removed (core iteration implementation no longer present in this package path)
packages/core/src/programmers/iterate/stringify_dynamic_properties.ts Removed (core iteration implementation no longer present in this package path)
packages/core/src/programmers/iterate/prune_object_properties.ts Removed (core iteration implementation no longer present in this package path)
packages/core/src/programmers/iterate/postfix_of_tuple.ts Removed (core iteration implementation no longer present in this package path)
packages/core/src/programmers/iterate/metadata_to_pattern.ts Removed (core iteration implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_tuple.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_title.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_template.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_string.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_station.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_plugin.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_object.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_number.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_native.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_jsDocTags.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_escaped.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_discriminator.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_description.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_constant.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_boolean.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_bigint.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_array.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/json_schema_alias.ts Removed (core JSON schema generator implementation no longer present in this package path)
packages/core/src/programmers/iterate/feature_object_entries.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/iterate/decode_union_object.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/iterate/check_template.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/iterate/check_string.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/iterate/check_object.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/iterate/check_number.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/iterate/check_native.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/iterate/check_everything.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/iterate/check_dynamic_properties.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/iterate/check_dynamic_key.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/iterate/check_bigint.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/iterate/check_array_length.ts Removed (core iteration helper no longer present in this package path)
packages/core/src/programmers/index.ts Removed (core programmer barrel exports removed)
packages/core/src/programmers/http/index.ts Removed (HTTP programmer barrel exports removed)
packages/core/src/programmers/http/HttpValidateQueryProgrammer.ts Removed (HTTP programmer removed from this package path)
packages/core/src/programmers/http/HttpValidateHeadersProgrammer.ts Removed (HTTP programmer removed from this package path)
packages/core/src/programmers/http/HttpValidateFormDataProgrammer.ts Removed (HTTP programmer removed from this package path)
packages/core/src/programmers/http/HttpParameterProgrammer.ts Removed (HTTP programmer removed from this package path)
packages/core/src/programmers/http/HttpIsQueryProgrammer.ts Removed (HTTP programmer removed from this package path)
packages/core/src/programmers/http/HttpIsHeadersProgrammer.ts Removed (HTTP programmer removed from this package path)
packages/core/src/programmers/http/HttpIsFormDataProgrammer.ts Removed (HTTP programmer removed from this package path)
packages/core/src/programmers/http/HttpAssertQueryProgrammer.ts Removed (HTTP programmer removed from this package path)
packages/core/src/programmers/http/HttpAssertHeadersProgrammer.ts Removed (HTTP programmer removed from this package path)
packages/core/src/programmers/http/HttpAssertFormDataProgrammer.ts Removed (HTTP programmer removed from this package path)
packages/core/src/programmers/helpers/disable_function_programmer_declare.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/UnionPredicator.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/StringifyPredicator.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/StringifyJoinder.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/RandomJoiner.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/PruneJoiner.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/ProtobufWire.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/OptionPredicator.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/NotationJoiner.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/IExpressionEntry.ts Removed (type helper removed from this package path)
packages/core/src/programmers/helpers/ICheckEntry.ts Removed (type helper removed from this package path)
packages/core/src/programmers/helpers/HttpMetadataUtil.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/FunctionProgrammer.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/CloneJoiner.ts Removed (helper removed from this package path)
packages/core/src/programmers/helpers/AtomicPredicator.ts Removed (helper removed from this package path)
packages/core/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts Removed (functional programmer internal removed from this package path)
packages/core/src/programmers/functional/index.ts Removed (functional programmer barrel exports removed)
packages/core/src/programmers/functional/FunctionalValidateReturnProgrammer.ts Removed (functional programmer removed from this package path)
packages/core/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts Removed (functional programmer removed from this package path)
packages/core/src/programmers/functional/FunctionalIsReturnProgrammer.ts Removed (functional programmer removed from this package path)
packages/core/src/programmers/functional/FunctionalIsParametersProgrammer.ts Removed (functional programmer removed from this package path)
packages/core/src/programmers/functional/FunctionalIsFunctionProgrammer.ts Removed (functional programmer removed from this package path)
packages/core/src/programmers/functional/FunctionalAssertReturnProgrammer.ts Removed (functional programmer removed from this package path)
packages/core/src/programmers/functional/FunctionalAssertParametersProgrammer.ts Removed (functional programmer removed from this package path)
packages/core/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts Removed (functional programmer removed from this package path)
packages/core/src/programmers/ImportProgrammer.ts Removed (import manager removed from this package path)
packages/core/src/index.ts Removed (core package entry barrel removed)
packages/core/src/factories/internal/metadata/iterate_metadata_union.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_tuple.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_template.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_sort.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_set.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_object.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_map.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_function.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_escape.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_constant.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_comment_tags.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_collection.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_coalesce.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_atomic.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_array.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata_alias.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/iterate_metadata.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/explore_metadata.ts Removed (metadata iteration removed from this package path)
packages/core/src/factories/internal/metadata/emplace_metadata_tuple.ts Removed (metadata emplace removed from this package path)
packages/core/src/factories/internal/metadata/emplace_metadata_array_type.ts Removed (metadata emplace removed from this package path)
packages/core/src/factories/internal/metadata/emplace_metadata_alias.ts Removed (metadata emplace removed from this package path)
packages/core/src/factories/internal/metadata/emend_metadata_atomics.ts Removed (metadata emend removed from this package path)
packages/core/src/factories/internal/metadata/MetadataHelper.ts Removed (metadata helper removed from this package path)
packages/core/src/factories/internal/metadata/IMetadataIteratorProps.ts Removed (metadata typing removed from this package path)
packages/core/src/factories/index.ts Removed (factory barrel exports removed)
packages/core/src/factories/ValueFactory.ts Removed (factory removed from this package path)
packages/core/src/factories/TypeFactory.ts Removed (factory removed from this package path)
packages/core/src/factories/TemplateFactory.ts Removed (factory removed from this package path)
packages/core/src/factories/StatementFactory.ts Removed (factory removed from this package path)
packages/core/src/factories/NumericRangeFactory.ts Removed (factory removed from this package path)
packages/core/src/factories/MetadataTypeTagSchemaFactory.ts Removed (factory removed from this package path)
packages/core/src/factories/LiteralFactory.ts Removed (factory removed from this package path)
packages/core/src/factories/JsonMetadataFactory.ts Removed (factory removed from this package path)
packages/core/src/factories/IdentifierFactory.ts Removed (factory removed from this package path)
packages/core/src/factories/CommentFactory.ts Removed (factory removed from this package path)
packages/core/src/context/index.ts Removed (context barrel exports removed)
packages/core/src/context/TransformerError.ts Removed (error type removed from this package path)
packages/core/src/context/ITypiaContext.ts Removed (context type removed from this package path)
packages/core/src/context/ITransformOptions.ts Removed (context type removed from this package path)
packages/core/src/context/IProgrammerProps.ts Removed (context type removed from this package path)
packages/core/rollup.config.mjs Removed (core package rollup config removed)
packages/core/package.json Removed (core package manifest removed)
packages/core/README.md Removed (core package README removed)
package.json Updates package:latest to publish toolchain before packages and forward args
next.bash Publishes toolchain before packages for next
experiments/unplugin/package.json Removes some tarball deps from unplugin experiment
experiments/tarballs/index.js Filters tarball targets to directories containing package.json
experiments/setup/src/internal/runScenarioWithError.js Adds helper to run and assert failing setup scenarios
experiments/setup/src/internal/runScenario.js Adds helper to run and assert successful setup scenarios
experiments/setup/src/internal/readJson.js Adds JSON file reader helper
experiments/setup/src/internal/prepareWorkspace.js Adds tmp workspace bootstrap (incl. npm shim logging)
experiments/setup/src/index.js Adds experiment runner that discovers/executes scenarios
experiments/setup/src/features/test_tsconfig_rejects_non_array_plugins.js Adds negative coverage for invalid compilerOptions.plugins
experiments/setup/src/features/test_tsconfig_preserves_strict_false.js Adds coverage for preserving strict: false while enforcing related options
experiments/setup/src/features/test_tsconfig_creates_missing_compiler_options.js Adds coverage for creating missing compilerOptions while preserving extends
experiments/setup/src/features/test_prepare_with_empty_segments.js Adds coverage for cleaning legacy prepare scripts with empty segments
experiments/setup/src/features/test_prepare_only_legacy.js Adds coverage for removing legacy prepare + cleaning empty manifest sections
experiments/setup/src/features/test_package_json_preserves_unrelated_fields.js Adds coverage to preserve unrelated manifest fields
experiments/setup/src/features/test_package_json_keeps_non_legacy_prepare.js Adds coverage to keep non-legacy prepare scripts
experiments/setup/src/features/test_package_json_deletes_empty_scripts_and_dev_dependencies.js Adds coverage for deleting emptied-out sections after cleanup
experiments/setup/src/features/test_package_json_deletes_empty_dependencies.js Adds coverage for deleting emptied-out dependencies after cleanup
experiments/setup/src/features/test_no_existing_tsconfig.js Adds coverage for generating tsconfig when absent
experiments/setup/src/features/test_mixed_legacy_prepare.js Adds coverage for mixed prepare cleanup and plugin normalization
experiments/setup/src/features/test_auto_detects_single_tsconfig.js Adds coverage for auto-detecting a single tsconfig
experiments/setup/package.json Adds new experiment package manifest
experiments/setup/README.md Documents purpose and invariants of setup wizard experiment
experiments/setup/.gitignore Ignores .tmp/ and node_modules/ for the experiment
examples/tsconfig.json Changes module resolution and type inclusion defaults
examples/package.json Simplifies ttsc usage and adjusts prettier invocation
config/tsconfig.json Changes module resolution and type inclusion defaults; adds ignoreDeprecations
.github/workflows/website.yml Ensures toolchain build happens before website build
.github/workflows/experiments.yml Adds CI execution for the new setup experiment
Files not reviewed (1)
  • experiments/setup/package-lock.json: Language not supported

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

Comment thread config/tsconfig.json
Comment on lines +34 to +35
"moduleResolution": "bundler", /* Specify how TypeScript looks up a file from a given module specifier. */
"ignoreDeprecations": "6.0",
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

"types": [""]is not a valid way to “include all types” in TypeScript; it can triggerTS2688: Cannot find type definition file for ''. If the intent is to use default type inclusion behavior, remove the typesfield entirely; if the intent is explicit inclusion, list actual package names undertypes(e.g."node"`).

Copilot uses AI. Check for mistakes.
Comment thread config/tsconfig.json
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
"types": ["*"], /* Specify type package names to be included without being referenced in a source file. */
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

"types": [""]is not a valid way to “include all types” in TypeScript; it can triggerTS2688: Cannot find type definition file for ''. If the intent is to use default type inclusion behavior, remove the typesfield entirely; if the intent is explicit inclusion, list actual package names undertypes(e.g."node"`).

Suggested change
"types": ["*"], /* Specify type package names to be included without being referenced in a source file. */

Copilot uses AI. Check for mistakes.
Comment thread examples/tsconfig.json
"module": "esnext", /* Specify what module code is generated. */
// "rootDir": "./", /* Specify the root folder within your source files. */
"moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */
"moduleResolution": "bundler", /* Specify how TypeScript looks up a file from a given module specifier. */
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

Same issue as in config/tsconfig.json: "types": ["*"] is not a valid TypeScript configuration and may break the sample project with Cannot find type definition file for '*'. Remove types (preferred) or replace with a concrete list of type packages.

Copilot uses AI. Check for mistakes.
Comment thread examples/tsconfig.json
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
// "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
"types": ["*"], /* Specify type package names to be included without being referenced in a source file. */
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

Same issue as in config/tsconfig.json: "types": ["*"] is not a valid TypeScript configuration and may break the sample project with Cannot find type definition file for '*'. Remove types (preferred) or replace with a concrete list of type packages.

Suggested change
"types": ["*"], /* Specify type package names to be included without being referenced in a source file. */

Copilot uses AI. Check for mistakes.
Comment thread examples/package.json
"description": "Example codes for typia website",
"scripts": {
"build": "rimraf bin && ttsc build && prettier --write bin/**/*.js",
"build": "rimraf bin && ttsc && prettier --write --ignore-path /dev/null \"bin/**/*.js\"",
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

Using --ignore-path /dev/null is not portable (e.g., Windows runners/environments). If the goal is to disable ignores, consider checking in a dedicated ignore file (e.g., examples/.prettierignore) and referencing it, or adjust the command so it works cross-platform.

Suggested change
"build": "rimraf bin && ttsc && prettier --write --ignore-path /dev/null \"bin/**/*.js\"",
"build": "rimraf bin && ttsc && node -e \"const fs=require('fs'); const os=require('os'); const path=require('path'); const {execFileSync}=require('child_process'); const ignorePath=path.join(os.tmpdir(), 'typia-empty-prettierignore'); fs.writeFileSync(ignorePath, ''); try { execFileSync(process.platform === 'win32' ? 'prettier.cmd' : 'prettier', ['--write', '--ignore-path', ignorePath, 'bin/**/*.js'], { stdio: 'inherit' }); } finally { fs.rmSync(ignorePath, { force: true }); }\"",

Copilot uses AI. Check for mistakes.
Comment thread package.json
"test:packages": "pnpm --filter=./tests/test-* -r --workspace-concurrency=1 start",
"test:toolchain": "pnpm --filter @typia/ttsc test && pnpm --filter=./toolchain-tests/* -r --workspace-concurrency=1 start",
"package:latest": "pnpm --filter=./packages/* -r publish --tag latest --access public",
"package:latest": "bash -c 'pnpm --filter=./toolchain/* -r publish --tag latest --access public \"$@\" && pnpm --filter=./packages/* -r publish --tag latest --access public \"$@\"' --",
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

This makes package:latest depend on bash, which reduces portability (notably on Windows) and can complicate local release flows. If argument-forwarding is required, consider a small Node.js script to orchestrate the two publish commands while preserving cross-platform execution.

Suggested change
"package:latest": "bash -c 'pnpm --filter=./toolchain/* -r publish --tag latest --access public \"$@\" && pnpm --filter=./packages/* -r publish --tag latest --access public \"$@\"' --",
"package:latest": "pnpm --filter=./toolchain/* --filter=./packages/* -r publish --tag latest --access public",

Copilot uses AI. Check for mistakes.
Comment thread package.json
"test:packages": "pnpm --filter=./tests/test-* -r --workspace-concurrency=1 start",
"test:toolchain": "pnpm --filter @typia/ttsc test && pnpm --filter=./toolchain-tests/* -r --workspace-concurrency=1 start",
"package:latest": "pnpm --filter=./packages/* -r publish --tag latest --access public",
"package:latest": "bash -c 'pnpm --filter=./toolchain/* -r publish --tag latest --access public \"$@\" && pnpm --filter=./packages/* -r publish --tag latest --access public \"$@\"' --",
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

The PR description focuses on finalizing ttsc/ttsx and streamlining build/publish/test infra, but this diff also removes the entire packages/core package contents (source, exports, README, package.json, rollup config). That’s a major functional/repo-structure change and should be explicitly called out in the PR description (or split into a separate PR) so reviewers can validate intended impact.

Copilot uses AI. Check for mistakes.
Comment on lines +87 to +88
const exports = require(path.join(directory, file));
const functions = Object.entries(exports).filter(
Copy link

Copilot AI Apr 24, 2026

Choose a reason for hiding this comment

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

Using the identifier name exports here is confusing because it visually collides with Node’s exports/module.exports conventions. Rename this local variable to something like moduleExports to avoid ambiguity.

Copilot uses AI. Check for mistakes.
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