https://github.com/connorjs/dotnet-with-esproj-example
Example repo with C# and JS/TS with build orchestration via dotnet (csproj + esproj)
https://github.com/connorjs/dotnet-with-esproj-example
dotnet esproj jsps npm polyglot
Last synced: 3 months ago
JSON representation
Example repo with C# and JS/TS with build orchestration via dotnet (csproj + esproj)
- Host: GitHub
- URL: https://github.com/connorjs/dotnet-with-esproj-example
- Owner: connorjs
- License: mit
- Created: 2024-07-04T16:08:07.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-08-11T22:25:27.000Z (9 months ago)
- Last Synced: 2025-02-14T20:57:34.363Z (3 months ago)
- Topics: dotnet, esproj, jsps, npm, polyglot
- Language: PowerShell
- Homepage:
- Size: 84 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# .NET with `.esproj` Example
Example repository with C# and JS/TS with build orchestration via `dotnet` (`.csproj` and `.esproj`).
[](https://codecov.io/gh/connorjs/dotnet-with-esproj-example)
[](https://sonarcloud.io/summary/new_code?id=connorjs_dotnet-with-esproj-example)## Directory structure
The workspace (solution) has `client` and `server` directories separated to simplify the build process.
Specifically, they each have their own `Directory.*` files.
Most other configuration files live in the root directory.The solution view offers an alternative display of the workspace.
It reorganizes the root configuration files into `client`, `server`, and `shared` under the `files` solution folder.
It groups all projects together under the `projects` solution folder (no `client` and `server` separation).## Targets
The workspace uses the standard `dotnet` targets for both .NET and npm.
- `restore` installs dependencies
- `build` compiles, lints, and builds the projects
- `test` runs unit tests with coverage.NET uses `build` for Analyzers and formatting (via `CSharpier.MSBuild`), so npm uses `build` for ESLint, tsc, and Prettier.
`dotnet format` exists to help auto-fix, but is not used to verify the build.
## Notes
### Path separators
Per my understanding, Windows happily accepts `/` for path separators.
Unix requires `/`.Thus, this workspace uses `/` in all configuration files except the `*.sln` file which uses `\`.
This preserves the IDE edits made to the `*.sln` file.