Managed Hosting



Project Home Blog Forums Wiki Known Issues External Project Link Contact Project

Author: Matt Gersting (All RIAForge projects by this author)
Last Updated: May 13, 2014 12:50 PM
Version: 3.5 RC 3
Views: 56,667
Downloads: 2,428
License: GPL (GNU General Public License)


ScriptWriter 3 is an open-source, CFC-based module designed to allow web developers to manage the inclusion of JavaScript and CSS.

ScriptWriter 3 supports dynamic external and inline inclusion, run-time minification using the YUI and JSMin libraries, run-time file merging for HTTP request reduction, and flexible grouping and output control for easy implementation of page load performance best practices.



As of version 3.2 it now includes an easy-to-use system for injecting data into your CSS and JS, both inline and external.

3.5 RC 3
Bug fix.

3.5 RC 2
Simplified setup with zero-configuration init(). Added ability to natively process LESS CSS.

Adds support for custom media property on both individual and merged stylesheets. Documentation also updated to reflect this feature.

Fixed two user-discovered problems causing syntax errors.

Fixes error caused by the system attempting to clean up stranded request data when there is none to remove.

3.2 RC 1:
Based on user requests, ScriptWriter 3.2 RC 1 now provides the formalized ability to pass data into both inline and external CSS and JS. This update includes an update to the documentation to provide a sample of this behavior. Enjoy!

3.1 RC 6:
Updated documentation to provide sample of how to include remote script/css libraries. Also, fixed bug that was preventing the combination of mixed minified/non-minified files.

3.1 RC 5:
Full test on CF8. Fixed problem with a mis-scoped variable. Also, corrected mistakes in documentation sample code. Pending user feedback, expect this to be the 3.1 final.

3.1 RC 3:
Addresses project issue ID 3, which would have been a blocker for CF8 users. Code should now run on CF8 and CF9.

3.1 RC 2:
Extended writeMode functionality from to be adjustable on an item-by-item basis. Updated the documentation to match.

3.1 RC 1:
Top-to-bottom rewrite of the ElementBase component to absolutely minimize file reads/write and maximize performance. Beta:
Added feature enhancement request for ability to force refresh of minified/combined files. Factory init() now has writeMode argument that can be set to "lazy" or "eager". Updated documentation to match. Beta:
Reduced unnecessary file reads, checks. Added ability to minify and output inline code (previously required a source file be available).

Alpha 7:
IMPORTANT UPDATE - While not a bug in the sense of throwing errors, Alpha 7 significantly improves performance by removing an unintentional source load (file read) that was happening with every script/style item init().

Alpha 6:
Added new "cleanup" functionality that recursively removes any "stranded" request data - rare, but not impossible - after 60 seconds to keep the singleton object as small as possible.

Alpha 5:
Added compressor JAR files to the downloadable zip. Updated documentation per bug request.

Alpha 4:
Updated documentation to include samples of working with inline CSS.

Alpha 3:
Cleaned up the ElementBase init() logic which fixed a bug that was preventing inline elements from being converted to external files when desired.

Alpha 2:
Fixed bugs with output of inline scripts.

Last Update:

Added ability to automatically process LESS CSS. Simplified setup with zero-configuration init().

RC3 fixes a mistyped return from the CustomElement type.


ScriptWriter should run on MX 7 and higher.

Issue Tracker:

7 Steam Closed Open 05/25/15 1:51 AM
5 Variable SELEMENTCOMPONENTTYPE is undefined. Fixed 06/23/10 11:17 AM
6 onRequestStart breaks when using FUSEBOX Closed 06/22/10 7:27 PM
4 Missing quotes and commas in documentation Fixed 06/22/10 5:47 PM
3 Invalid CFML construct found on line 315 at column 55 Fixed 06/22/10 5:05 PM

View All Issues

To enter issues for this (or any other) project, you must be logged in.