Skip to content

DEPRECATED. A library for managing CSS & JavaScript dependencies and optimization in ASP.Net

Notifications You must be signed in to change notification settings

Shazwazza/ClientDependency

Repository files navigation

DEPRECATED

No Maintenance Intended

This project is no longer maintained. The code will remain here and PRs can be submitted and accepted but there will be no active contributions from the maintainers of this project.

It is highly recommended to move off of .NET Framework and onto .NET Core and if runtime bundling/minification is required, than Smidge is a maintained library that can do that.


What is ClientDependency Framework (CDF) ?

CDF is a framework for managing CSS & JavaScript dependencies and optimizations for your web application. It allows for each individual component in your web application to declare what CSS and JavaScript files they require instead of relying on a single master page to include all dependencies for all modules. It also manages runtime optimizations: minification, compression, caching, and so on....

This hugely simplifies collaborative development since any developer who is working on a component doesn't need to worry about what CSS/JavaScript is being included on the main page. CDF will wire everything up, ensure that your dependencies are ordered correctly, that there are no duplicates and render your CSS and JavaScript html tags properly on to the rendering page.

CDF is flexible. It allows you to make any web component dependent on any CSS or JavaScript file individually. CDF does not require you to pre-define resources at startup (but you certainly can) and doesn't require you to know c# or VB. If you can write markup for Webforms or Razor then you can use CDF.

Out of the box you get

  • MVC support - Any view engine
  • Webforms support
  • Runtime dependency resolution
  • Pre-defined bundling
  • Combining, compressing & minifying output
  • Support for external/CDN files
  • Debug and release mode rendering
  • OutputCaching of the combined files
  • Persisting the combined composite files for increased performance when applications restart or when the Cache expires
  • Versioning the files ... great for ensuring your clients' browser cache is cleared!
  • Prioritizing dependencies
  • Pre-defined file paths - great for theming!
  • Detecting script and styles that are not explicitly registered with CDF and have the output compressed
  • Provider Model so you can choose how you would like your JS and CSS files rendered, combined, compressed & minified
  • MIME type compression output for things like JSON services, or anything you want
  • Control over how composite file URLs are structured if you need a custom format
  • Medium trust compatible (Core, MVC and .Less projects)
  • Native .Less, TypeScript, SASS & CoffeeScript support

Nuget

PM> Install-Package ClientDependency

PM> Install-Package ClientDependency-Mvc

PM> Install-Package ClientDependency-Less

PM> Install-Package ClientDependency-TypeScript

PM> Install-Package ClientDependency-Sass

PM> Install-Package ClientDependency-Coffee

Click the link to see the documentation on how to get started and more advanced techniques

Shows information about all CDF releases

Copyright & Licence

© 2018 by Shannon Deminick

This is free software and is licensed under the Microsoft Public License (Ms-PL)