Skip to content

Commit c17b6e9

Browse files
fix: QA pipeline improvements
- Fix TypeScript lib conflicts by using deno.ns instead of dom - Update spec test pattern matching - Fix formatting issues in documentation - Update test configuration for better compatibility These changes ensure the QA pipeline runs cleanly while maintaining backward compatibility for existing transpilation features.
1 parent 4bacaf8 commit c17b6e9

File tree

6 files changed

+32
-21
lines changed

6 files changed

+32
-21
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,9 +438,10 @@ deno task compile # Build CLI executable
438438
```
439439

440440
**Output Organization**: All generated files are organized in the `.output/` directory:
441+
441442
- `.output/coverage/` - Test coverage data
442443
- `.output/dist/` - Compiled CLI executable
443-
- `.output/docs/` - Generated API documentation
444+
- `.output/docs/` - Generated API documentation
444445
- `.output/cmake-tests/` - CMake integration test results
445446
- `.output/reports/` - Test reports and analysis
446447

RELEASE_NOTES_v0.4.x.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ _Note: Features merged into v0.5.0 release_
3535
- **Output consolidation**: Unified all generated files under `.output/` directory
3636
- Replaced 8+ scattered output directories with organized structure
3737
- `.output/coverage/` - Test coverage data
38-
- `.output/dist/` - Compiled CLI executable
38+
- `.output/dist/` - Compiled CLI executable
3939
- `.output/docs/` - Generated API documentation
4040
- `.output/cmake-tests/` - CMake integration test results
4141
- `.output/reports/` - Test reports and analysis
@@ -53,7 +53,7 @@ _Note: Features merged into v0.5.0 release_
5353
### Developer Experience
5454

5555
- **Error messages**: More descriptive C++ compilation errors
56-
- **Test execution**: Reliable E2E test runs with actual compilation
56+
- **Test execution**: Reliable E2E test runs with actual compilation
5757
- **Documentation**: Started comprehensive release notes for all versions
5858
- **Repository cleanliness**: Professional project organization with logical file structure
5959

RELEASE_NOTES_v0.5.x.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Version 0.5.0 focuses on project organization, developer experience, and compreh
1515
- **Unified output structure**: All generated files now organized under `.output/` directory
1616
- **Before**: 8+ scattered directories (`cmake-test-output/`, `cov_profile/`, `coverage.lcov`, `e2e-cmake-test/`, etc.)
1717
- **After**: Single consolidated structure with logical subdirectories
18-
18+
1919
```
2020
.output/
2121
├── coverage/ # Test coverage data
@@ -26,7 +26,7 @@ Version 0.5.0 focuses on project organization, developer experience, and compreh
2626
└── README.md # Self-documenting structure
2727
```
2828

29-
- **Configuration simplification**:
29+
- **Configuration simplification**:
3030
- **gitignore**: Single `/.output/` entry instead of 8+ scattered patterns
3131
- **deno.json**: All task outputs consolidated to `.output/` subdirectories
3232
- **Lint/format exclusions**: Single `.output/` exclusion
@@ -44,7 +44,7 @@ Version 0.5.0 focuses on project organization, developer experience, and compreh
4444
- Removed deprecated `outputDir` options
4545
- All 55 spec tests now use current API
4646

47-
- **E2E compilation validation**: Enhanced test runner capabilities
47+
- **E2E compilation validation**: Enhanced test runner capabilities
4848
- Full TypeScript → C++ → Binary pipeline testing
4949
- Cross-platform compiler detection (clang++, g++, MSVC)
5050
- Real C++ compilation and execution validation
@@ -104,7 +104,8 @@ Version 0.5.0 focuses on project organization, developer experience, and compreh
104104

105105
### Breaking Changes
106106

107-
⚠️ **Output directory locations changed**:
107+
⚠️ **Output directory locations changed**:
108+
108109
- Coverage files: `cov_profile/``.output/coverage/`
109110
- Compiled binaries: `./dist/``.output/dist/`
110111
- Documentation: `./docs/``.output/docs/`
@@ -130,7 +131,7 @@ Version 0.5.0 focuses on project organization, developer experience, and compreh
130131
Version 0.6.0 will focus on:
131132

132133
- Async/await with C++20 coroutines (completing the features from v0.4.0 scope)
133-
- Advanced TypeScript features (conditional types, mapped types)
134+
- Advanced TypeScript features (conditional types, mapped types)
134135
- Performance optimizations for large codebases
135136
- Module system improvements
136137
- Enhanced error reporting and debugging
@@ -174,4 +175,4 @@ _Planned_
174175

175176
- Edge cases in CMake integration tests
176177
- Minor issues in cross-platform test execution
177-
- Documentation improvements
178+
- Documentation improvements

deno.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"test:coverage": "deno test --coverage=.output/coverage --allow-read --allow-write --allow-env --allow-net --allow-run",
1515
"test:cmake": "deno run --allow-all tests/integration/cmake-e2e.ts",
1616
"coverage": "deno coverage .output/coverage",
17-
"spec": "deno test tests/specs/ --allow-read --allow-write --allow-env --allow-net --allow-run --no-check",
17+
"spec": "deno test tests/specs/*.spec.ts --allow-read --allow-write --allow-env --allow-net --allow-run --no-check",
1818
"spec:watch": "deno test tests/specs/ --watch --allow-read --allow-write --allow-env --allow-net --allow-run --no-check",
1919
"lint": "deno lint",
2020
"fmt": "deno fmt",
@@ -52,7 +52,7 @@
5252
"nodeModulesDir": "auto",
5353
"compilerOptions": {
5454
"strict": true,
55-
"lib": ["deno.window", "dom", "dom.iterable", "dom.asynciterable", "esnext"]
55+
"lib": ["deno.ns", "deno.worker", "esnext"]
5656
},
5757
"test": {
5858
"include": ["tests/", "src/**/*.test.ts"],

tests/integration/cmake-e2e.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,10 @@ async function processTestFile(testPath: string): Promise<TestResult> {
7979
generate: true,
8080
projectName: testName.charAt(0).toUpperCase() + testName.slice(1),
8181
findPackages: [], // Override to remove external dependencies for testing
82-
}
83-
}
82+
},
83+
},
8484
};
85-
85+
8686
const cmakeContent = generateCMakeFromConfig(
8787
testConfig,
8888
[`${testName}.cpp`],

tests/specs/basic.spec.ts

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ describe("Basic TypeScript Transpilation", () => {
1717
const result = await testTranspilation(code);
1818
assertEquals(typeof result.header, "string");
1919
assertEquals(typeof result.source, "string");
20-
20+
2121
// Then test the full E2E pipeline (if compiler is available)
2222
try {
2323
await runEndToEndTest(code, expectedOutput, "./runtime");
@@ -32,25 +32,34 @@ describe("Basic TypeScript Transpilation", () => {
3232
}
3333

3434
it("should transpile Hello World as string const", async () => {
35-
await testE2E(`
35+
await testE2E(
36+
`
3637
console.log("Hello World!");
37-
`, "Hello World!");
38+
`,
39+
"Hello World!",
40+
);
3841
});
3942

4043
it("should transpile Hello World as variable", async () => {
41-
await testE2E(`
44+
await testE2E(
45+
`
4246
var x: string = "Hello World!";
4347
console.log(x);
44-
`, "Hello World!");
48+
`,
49+
"Hello World!",
50+
);
4551
});
4652

4753
it("should transpile Hello World as function", async () => {
48-
await testE2E(`
54+
await testE2E(
55+
`
4956
function x() {
5057
console.log("Hello World!");
5158
}
5259
x();
53-
`, "Hello World!");
60+
`,
61+
"Hello World!",
62+
);
5463
});
5564

5665
it("should transpile Hello World as function declaration", async () => {

0 commit comments

Comments
 (0)