Skip to content

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

Notifications You must be signed in to change notification settings

dnnsoftware/ClientDependency

 
 

Repository files navigation

Build status

ClientDependency Framework


❤️ If you use and like CDF please consider becoming a GitHub Sponsor ❤️

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)

Build/Release process

To build the DNN specific library, run ./Build-Release.ps1 in powershell. The default configuration will use the version from the most recent git tag only if a specific version is not provided manually to the script.

About

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

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 71.6%
  • JavaScript 15.1%
  • SCSS 8.6%
  • ASP.NET 2.5%
  • PowerShell 1.0%
  • HTML 0.8%
  • Other 0.4%