Repository navigation
chore(lib): Move cdktn package to src/ and lib/ layout - #145
Merged
Merged
Conversation
X-Guardian
force-pushed
the
cdktn-src-change
branch
from
May 2, 2026 10:15
9729eaf to
4974e49
Compare
X-Guardian
force-pushed
the
cdktn-src-change
branch
from
May 14, 2026 11:26
4974e49 to
57fe8ce
Compare
2 of 8 tasks
X-Guardian
force-pushed
the
cdktn-src-change
branch
from
May 17, 2026 10:30
57fe8ce to
faa6113
Compare
X-Guardian
marked this pull request as ready for review
May 19, 2026 08:25
jsteinich
approved these changes
May 19, 2026
jsteinich
added a commit
that referenced
this pull request
May 26, 2026
## 0.23.2 ### chore - chore: Update npm version to support OIDC trusted publishing [\#205](#205) - chore: Fix publib running to use npx rather than yarn [\#203](#203) - chore(tests): Add test for Node type stripping [\#198](#198) - chore(gha): Enable NPM OIDC Publishing [\#195](#195) - chore: remove mention of Hashicorp support [\#193](#193) - chore: consolidate release workflows for npm OIDC [\#192](#192) - chore: tell users to search for cdktn on npm [\#185](#185) - chore: replace cdk.tf/modules-and-providers links [\#184](#184) - chore: fix references to cdktf in TS examples [\#183](#183) - chore: point to correct docs repo [\#181](#181) - chore: delete Vercel config for cdk.tf site [\#180](#180) - chore(gha): optimise integration & provider-integration CI pipelines [\#178](#178) - chore(gha): optimise examples CI pipeline [\#175](#175) - chore: migrate jest to @nx/jest plugin with swc-jest [\#160](#160) - chore: replace yazl with fflate [\#148](#148) - chore(lib): Move cdktn package to src/ and lib/ layout [\#145](#145) - chore: Consolidate PR CI into tiered orchestrator workflow [\#143](#143) ### fix - fix(gha): Need to grant permission on workflow call job [\#196](#196) - fix(cli): Fix input getting split between cdktn and Terraform [\#191](#191) - fix(cli): restore non-bundled dependencies [\#190](#190) - fix: Configurable dist artifact name to fix release workflows [\#189](#189) - fix(tests): pass --no-compile to pip in python integration tests [\#188](#188) - fix(cli): pass languageOptions to `get` [\#179](#179) - fix(provider-generator): add missing semicolons [\#177](#177) ### feat - feat(provider-generator): configurable import extensions [\#151](#151)
Contributor
|
I'm going to lock this pull request because it has been closed for 30 days. This helps our maintainers find and focus on the active issues. If you've found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Summary
Migrates the
cdktnpackage to the standardsrc/(sources) +lib/(build output) layout used by every other workspace package. Sources and compile output were previously co-located inlib/, which caused stale.js/.d.tsartifacts to confuse knip after every localyarn build(false-positive "unused dependency" reports forjson-stable-stringify,yazl,@types/json-stable-stringify,@types/semverbecause TS module resolution was preferring the stale.d.tstypings over the actual.tssources).Why
src/→build/,cdktnwas the only holdout still emitting compiled output next to sources.knipwould silently fail locally after a build, even though it was clean in CI (CI runs knip on a fresh checkout with no compiled artifacts).What changed
Source layout:
.tssource files moved:packages/cdktn/lib/**/*.ts→packages/cdktn/src/**/*.ts(subdir layout preserved:backends/,functions/,hcl/,private/,synthesize/,testing/,tokens/,validations/)package.json"main"and"types"continue to point atlib/index.js/lib/index.d.ts— distribution surface is unchanged.Build configuration (packages/cdktn/package.json):
"jsii"."tsc": { "outDir": "lib", "rootDir": "src" }— JSII regeneratestsconfig.jsonto compile fromsrc/and emit tolib/."jsii"."excludeTypescript": ["src/**/__tests__/**"]— three colocated__tests__files insidesrc/testing/import fromtest/helper/(outsiderootDir); excluding them keeps JSII'srootDirconstraint satisfied. Jest still picks them up viatestMatch.Test wiring:
from "../lib"→from "../src"(and../../lib→../../srcfor nestedtest/helper/andtest/tokens/files).tsconfig.jsonbut widensrootDirto.and excludeslib/**/*.d.ts. Required because (a) test files live outsiderootDir: srcand ts-jest can't compute output paths for out-of-tree files, and (b) without excludinglib/, ts-jest sees bothsrc/terraform-count.tsandlib/terraform-count.d.tsas separate type declarations and rejects assignment between them.tsconfig.test.json.Knip + docs:
packages/cdktnworkspace project glob updated to["src/**/*.ts", "test/**/*.ts"]; entry list dropped (knip auto-detectssrc/index.ts).cdktn/lib/...paths in docs updated tocdktn/src/....Checklist