Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
51ae548
chore: consolidate dependabot PRs - update NuGet and npm packages to …
Copilot Aug 9, 2026
ca966e7
fix(trydotnet): sync package-lock with package.json after rebase
BenjaminMichaelis Aug 12, 2026
b83bd71
fix(trydotnet): resolve chai type peer conflict for npm ci
BenjaminMichaelis Aug 12, 2026
ddf57a0
fix(trydotnet): pin TypeScript to ^5.9.3 for rollup-plugin-typescript…
BenjaminMichaelis Aug 12, 2026
96c9514
fix(ci): upgrade Node to 22 and pin deps for Node/TS compat
BenjaminMichaelis Aug 12, 2026
e34b7cf
fix(editor): pin monaco-editor to 0.33.0 (0.56 requires webpack confi…
BenjaminMichaelis Aug 12, 2026
cc7678e
fix(editor): add 'node' to tsconfig types for Buffer and util
BenjaminMichaelis Aug 12, 2026
aed9afb
fix: pin TypeScript to ^5.9.3 in microsoft-learn-mock, upgrade CI to …
BenjaminMichaelis Aug 12, 2026
4a9143f
fix: remove VersionOverride for Microsoft.AspNetCore.Components.WebAs…
BenjaminMichaelis Aug 12, 2026
7afa798
migrate ESLint configuration to flat config format (v9.0.0+)
BenjaminMichaelis Aug 12, 2026
11e50d1
fix(editor): revert polyglot-notebooks to v1.0.441801 to fix command …
BenjaminMichaelis Aug 12, 2026
f6703df
fix: upgrade Docker build to Node 22 to resolve ESM require failure (…
Copilot Aug 12, 2026
1b3ffc0
fix: switch Docker base image Node install from nodejs22 to nodejs24 …
Copilot Aug 12, 2026
0c896cf
Fix Docker build failure by removing conflicting npm package install …
Copilot Aug 12, 2026
9bdbac1
fix: install nodejs24-npm alongside nodejs24 to make npm available in…
Copilot Aug 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/setup-node/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ runs:
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: '20'
node-version: '24'
cache: 'npm'
cache-dependency-path: 'src/**/package-lock.json'

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/dependabot-major-review.lock.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
<PackageVersion Include="coverlet.collector" Version="10.0.1" />
<PackageVersion Include="AwesomeAssertions" Version="9.5.0" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="10.0.10" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.5" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="10.0.10" />
<PackageVersion Include="Microsoft.AspNetCore.Components.WebAssembly" Version="10.0.10" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.10" />
<PackageVersion Include="Microsoft.DotNet.Interactive.CSharpProject" Version="1.0.0-beta.26222.1" />
<PackageVersion Include="Microsoft.Playwright" Version="1.61.0" />
Expand All @@ -30,7 +30,7 @@
<PackageVersion Include="System.CommandLine" Version="2.0.10" />
<PackageVersion Include="System.Drawing.Common" Version="10.0.10" />
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
<PackageVersion Include="System.Reactive" Version="6.1.0" />
<PackageVersion Include="System.Reactive" Version="7.0.0" />
<PackageVersion Include="System.Security.Cryptography.X509Certificates" Version="4.3.2" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
<PackageVersion Include="xunit" Version="2.9.3" />
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ WORKDIR /App
CMD ["bash"]

# Install all required build tools in a single layer (rarely changes — stays cached)
# This is Node v16. For 18, use nodejs18.
# Use nodejs24 for Node 24.x (required for ESM-compatible dependencies).
RUN --mount=type=cache,id=try-tdnf,target=/var/cache/tdnf,sharing=locked \
tdnf install -y gawk nodejs npm
tdnf install -y gawk nodejs24 nodejs24-npm

# Copy only the files needed to restore dependencies.
# These layers are cached until a manifest file changes, so routine source edits
Expand Down
46 changes: 46 additions & 0 deletions VALIDATION_CHECKLIST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Pre-Push Validation Checklist

**Before pushing to GitHub, run the complete local validation for all npm packages:**

```bash
# 1. microsoft-trydotnet
cd src/microsoft-trydotnet
npm ci
npm run buildProd

# 2. microsoft-trydotnet-editor
cd ../microsoft-trydotnet-editor
npm ci
npm run buildProd

# 3. microsoft-trydotnet-styles
cd ../microsoft-trydotnet-styles
npm ci
npm run buildProd

# 4. microsoft-learn-mock
cd ../microsoft-learn-mock
npm ci
npm run buildProd
```

**All builds must complete without errors.** Warnings are acceptable (e.g., polyglot-notebooks circular dependencies), but any ERROR output means the CI will fail.

## Why This Matters

- `npm install --package-lock-only` only validates lock file syntax; it does NOT catch build/TypeScript errors
- CI runs the full build and will fail if any package cannot be built
- Running locally first catches:
- TypeScript compilation errors
- Missing type definitions
- Webpack/bundler issues
- Node version compatibility
- Module resolution failures
- Test failures

## Common Issues to Watch For

1. **TypeScript errors** → Check `tsconfig.json` has `"types": ["node"]` if code uses Node APIs (Buffer, util, etc.)
2. **Module not found** → Verify dependencies are listed in `package.json`
3. **Engine version conflicts** → Check that all transitive dependencies support the pinned Node version
4. **Build cache issues** → Run `npm ci` (not `npm install`) to use exact lock file versions
2 changes: 1 addition & 1 deletion src/Microsoft.TryDotNet/Microsoft.TryDotNet.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" VersionOverride="10.0.5" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" />
<Folder Include="wwwroot\api\editor\" />
</ItemGroup>

Expand Down
Loading