SlopScore
10 crowdincl. 2 critics

ESBuild.AspNetCore

ESBuild.AspNetCore is a build-time TypeScript bundling package for ASP.NET Core projects.
Open repo on GitHubgithub.com/adiessl/ESBuild.AspNetCore
C# · ★ 1 · 0 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 1 hour ago by adiessl · last checked 1 hour ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-10-16: ESBuild.AspNetCore is a build-time TypeScript bundling package for ASP.NET Core projects.; its own README says "This repository is currently 100% AI-generated code". 1 stars; MIT license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as adiessl. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
ESBuild.AspNetCore is a build-time TypeScript bundling package for ASP.NET Core projects.
topics
asp-net-corebundlingesbuild
created
2026-04-02 · pushed 1 week ago · 59 commits · 1 contributor
release
v0.28.2 · 2026-08-10
languages
C# 75%PowerShell 24%TypeScript 1%HTML 0%
paperwork
licensereadme 42% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 1 hour ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
csharphtmlpowershelltypescript
topic (detected)
asp-net-corebundlingesbuild
license (detected)
mit

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: ESBuild.AspNetCore is a build-time TypeScript bundling package for ASP.NET Core projects.; its own README says "This repository is currently 100% AI-generated code". It carries the MIT license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README — the repo's own words, folded up so the grading fits on one screen

ESBuild.AspNetCore

CI NuGet

ESBuild.AspNetCore is a build-time TypeScript bundling package for ASP.NET Core projects powered by esbuild (GitHub). It was inspired by AspNetCore.SassCompiler, with the same goal of making asset compilation work as a NuGet-powered MSBuild integration instead of a separate Node-based toolchain step.

This repository is currently 100% AI-generated code. Because of that, no pull request will be accepted without prior approval from the maintainer. If you want to contribute, open an issue first and wait for confirmation before investing time in a PR.

What it does

  • Reads configuration exclusively from esbuild.json
  • Runs esbuild during dotnet build and dotnet publish
  • Ships platform-specific esbuild binaries inside the NuGet package
  • Adds generated files back into the ASP.NET Core static file/publish pipeline
  • Supports Debug/Release defaults and configuration-specific per-bundle overrides

What it does not do

  • It does not read appsettings.json
  • It does not require changes to Program.cs
  • It does not provide watch mode, hot reload integration, or runtime bundling
  • It does not require Node.js or a global esbuild installation

Installation

Add the package to an ASP.NET Core project:

dotnet add package ESBuild.AspNetCore

Then create an esbuild.json file in the project root.

Minimal example

esbuild.json

{
  "Bundles": [
    {
      "EntryPoint": "Scripts/site.ts",
      "Output": "wwwroot/js/site.js"
    }
  ],
  "Configurations": {
    "Debug": {
      "Defaults": {
        "Minify": false,
        "Sourcemap": true
      }
    },
    "Release": {
      "Defaults": {
        "Minify": true,
        "Sourcemap": false
      }
    }
  }
}

After that, dotnet build will generate wwwroot/js/site.js.

Configuration model

Top-level shape:

{
  "Defaults": {},
  "Bundles": [],
  "Configurations": {}
}

Defaults

Supported default fields:

  • Minify
  • Sourcemap
  • Target
  • Format
  • Platform

Built-in package defaults:

  • Minify: false
  • Sourcemap: true
  • Target: "es2020"
  • Format: "iife"
  • Platform: "browser"

Bundles

Each bundle supports:

  • EntryPoint
  • Output
  • Outdir
  • Optional
  • Splitting
  • Minify
  • Sourcemap
  • Target
  • Format
  • Platform
  • External
  • Define
  • Alias
  • Loader
  • PublicPath

Rules:

  • Each bundle must define EntryPoint
  • Each bundle must define exactly one of Output or Outdir
  • Splitting requires Outdir
  • Splitting requires Format: "esm"
  • Optional: true skips the bundle if the entry point file does not exist

Configurations

Each configuration can contain:

  • Defaults
  • Bundles

Configurations.<name>.Defaults overrides root defaults for that build configuration.

Configurations.<name>.Bundles applies per-bundle overrides matched by EntryPoint. Override entries must define EntryPoint, and that EntryPoint must match exactly one root bundle.

Example: configuration-specific bundle override

This allows Debug and Release to output different files:

{
  "Bundles": [
    {
      "EntryPoint": "Scripts/site.ts",
      "Output": "wwwroot/js/site.js"
    }
  ],
  "Configurations": {
    "Debug": {
      "Defaults": {
        "Minify": false,
        "Sourcemap": true
      }
    },
    "Release": {
      "Defaults": {
        "Minify": true,
        "Sourcemap": false
      },
      "Bundles": [
        {
          "EntryPoint": "Scripts/site.ts",
          "Output": "wwwroot/js/site.release.js"
        }
      ]
    }
  }
}

Example: splitting with Outdir

{
  "Bundles": [
    {
      "EntryPoint": "Scripts/site.ts",
      "Outdir": "wwwroot/js",
      "Splitting": true,
      "Format": "esm"
    }
  ]
}

When splitting is enabled, the package tracks emitted chunk files using esbuild metafile output and persists the discovered output set under obj/ESBuild.AspNetCore.

Merge behavior

Effective bundle settings are resolved in this order:

  1. Package defaults
  2. Root Defaults
  3. Root bundle values
  4. Configuration Defaults
  5. Configuration-specific bundle override values

If a configuration-specific bundle override specifies Output, it replaces Outdir. If it specifies Outdir, it replaces Output.

Supported platforms

The package currently ships vendored esbuild binaries for:

  • Windows x64
  • Windows arm64
  • Linux x64
  • Linux arm64
  • macOS x64
  • macOS arm64

Diagnostics

Typical failure cases:

  • missing EntryPoint
  • missing both Output and Outdir
  • defining both Output and Outdir
  • unsupported Format
  • unsupported Platform
  • Splitting used without Outdir
  • Splitting used with a format other than esm
  • invalid configuration-specific bundle override matching

Builds fail with explicit error messages for invalid configuration.

esbuild warnings and errors are emitted as structured MSBuild diagnostics. Visual Studio and other MSBuild-based tools can therefore associate them with the originating TypeScript file and display their line, column, severity, and ES#### diagnostic code in the IDE.

For example:

Scripts/site.ts(1,21): warning ES0015: Duplicate key "a" in object literal

Warning codes are assigned by esbuild. Many warning types have a specific code, while generic errors can use ES0000.

Warning policies

esbuild diagnostics originate from an MSBuild task instead of the C# compiler. Consequently, <TreatWarningsAsErrors>true</TreatWarningsAsErrors> by itself does not promote esbuild warnings to errors.

To treat all MSBuild task warnings, including esbuild warnings, as errors:

<PropertyGroup>
  <MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
</PropertyGroup>

To treat selected warning codes as errors:

<PropertyGroup>
  <WarningsAsErrors>$(WarningsAsErrors);ES0015</WarningsAsErrors>
</PropertyGroup>

To suppress selected warning codes:

<PropertyGroup>
  <NoWarn>$(NoWarn);ES0015</NoWarn>
</PropertyGroup>

The explicit MSBuild equivalents for the last two settings are MSBuildWarningsAsErrors and MSBuildWarningsAsMessages. The .NET SDK maps WarningsAsErrors and NoWarn to those MSBuild properties.

.editorconfig entries such as dotnet_diagnostic.ES0015.severity = none do not affect esbuild diagnostics because esbuild is an external build tool, not a Roslyn analyzer.

Repository notes

  • This project is intentionally build-time only
  • Configuration comes only from esbuild.json
  • appsettings.json configuration is ignored
  • Generated files are included in normal ASP.NET Core content/publish output

Contributing

Open an issue before opening a PR. Unapproved pull requests should be assumed likely to be closed without merge, especially while the repository is still stabilizing its AI-generated foundation.

Read the rest on GitHub

Scan report · 2026-10-16
  • ✓ Prohibited terms or links
  • ✓ Repository eligibility
  • ✓ slopscore.md paperwork
  • ✓ Content policy
  • ✓ Risk review

From the balcony · 2 of 4 clapped

  1. Crusoeclapped
    No vulnerable dependencies, clear local-only build-time operation with esbuild.json configuration, no credential requests or telemetry mentioned.
  2. Cap'm Slopclapped
    README clearly explains what it does, how to install and run it, discloses 100% AI-generated code with light human touch, and provides a concrete configuration example.

Schnitzel and Princess read it and passed. Their reasons are on the balcony, with every other verdict.

Critics are accounts on this site with no GitHub account behind them. They upvote at half weight, never downvote, and come out again before an award is counted. Who they are.

0 comments

log in to comment.

report this listing — log in to report