On this page:
Target audience:
Users of the extension providing HTML5/JavaScript support for Web applications.
Summary: This document provides basic information about the extension providing HTML5/JavaScript support for Web applications.
What's new in 1.9.0?
- Bugs resolution, including support of new expressions in lists.
- Better resolution with jsp files.
- Support of jsp pager taglib.
- Support of struts-jquery-grid-tags taglib.
- Resources found in <form> tags have GET as default type (not POST).
- Files filtering enhancement (skipped files are no more sent to other extensions).
- Issue fixed for the rule "Avoid JavaScript to block page loading"
- Issue fixed for the rule "Avoid using unsecured cookies"
- Issue fixed for the rule "Avoid creating cookie without setting httpOnly option"
- New rules:
- 1020098 Avoid creating cookie with overly broad path (Javascript)
- 1020100 Avoid creating cookie with overly broad domain (Javascript)
What's new in 1.9.1?
- Bugs resolution, mainly for other web extensions (angularjs and jquery).
What's new in 1.9.2?
Bug resolution : GUIDs/fullnames correction for objects inside javascript sections inside html files when several sections in one file.
<script> function f1() { } </script> <script> function f2() { } </script>
To resolve this issue, an "upgrade" process is included in this release to transform the guids. In the above example, CAST_HTML5_JavaScript_SourceCode_Fragment_2.f2 will become CAST_HTML5_JavaScript_SourceCode_Fragment.f2.
Following the first analysis after upgrade to this extension, the following warning may be present at the end of analysis:
UNIVERSAL_CACHE : DUPLICATED OBJECTS NAME REMOVED: 144955 D:\Deploy\app\package\anchor.html/CAST_HTML5_JavaScript_SourceCode_Fragment.f1
This is expected behaviour, it is present if you have functions with same name in several sections of the same html file. In this case, the migration will produce two guids which will be the same: CAST_HTML5_JavaScript_SourceCode_Fragment.f1 for example, and the reanalysis will produce: CAST_HTML5_JavaScript_SourceCode_Fragment.f2 and CAST_HTML5_JavaScript_SourceCode_Fragment.f2_2.
Description
In what situation should you install this extension?
The analyzer could be used if your application is a Web Application, has HTML/Javascript/CSS files and/or contains HTML/Javascript fragments embedded into JEE and .NET files (for example).
The analyzer provides the following features:
- Automated Function Point counting.
- Checksum, number of code lines, number of comment lines, comments are present.
- Local and global resolution is done when function is called directly through its name (inference engine resolution is not available).
- For global resolution, caller is searched in all .js files. If only one callee is found, a link is created. If several callees are found, the analyzer watches inclusions in html files to see if it can filter the callee. If nothing is found in html files to filter, links are created to all possible callees.
Files analyzed
Icon(s) | File | Extension | Note |
---|---|---|---|
HTML | *.html, *.htm, *.xhtml |
| |
Javascript | *.js, *.jsx | Supports:
See also JavaScript below for more information. | |
Cascading Style Sheet | *.css | Supports CSS 1 - 3. | |
Java Server Page | *.jsp, *.jspx | Supports JSP 1.1 - 2.3. See JSP below for more information. | |
Active Server Page | *.asp, *.aspx | See (Classic) ASP below for more information. | |
HTML Components | *.htc | HTC files contain html, javascript fragments that will be parsed. Created objects will be linked to the HTC file. | |
ASP.NET MVC Razor | *.cshtml | See ASP.NET MVC Razor below for more information. |
Note that you may find that the number of files delivered is more than then number of files reported after analysis. This is due to the following:
- by default some files are automatically excluded from the analysis, typically third-party frameworks which are not required. Please see the filters.json file located at the root of the extension folder for a complete list of default exclusions.
- some files that have been included in the analysis may not be saved in the CAST Analysis Service schema because they do not contain any useful information, i.e. they do not contain any technical sections such as functions which would lead to the creation of a specific object.
(Classic) ASPTechnology support notes
ASP.NET MVC Razor
JavaScript
JSP
Transaction configuration information
HTML5 source code: it represents the whole HTML file content.
- Function Points (transactions): a green tick indicates that OMG Function Point counting and Transaction Risk Index are supported
- Quality and Sizing: a green tick indicates that CAST can measure size and that a minimum set of Quality Rules exist
Function Points (transactions) | Quality and Sizing | Security |
---|---|---|
CAST AIP release | Supported |
---|---|
8.3.x | |
8.2.x | |
8.1.x | |
8.0.x | |
7.3.4 and all higher 7.3.x releases |
Supported DBMS servers
This extension is compatible with the following DBMS servers:
CAST AIP release | CSS | Oracle | Microsoft |
---|---|---|---|
All supported releases |
Prerequisites
An installation of any compatible release of CAST AIP (see table above) |
Download and installation instructions
Please see:
The latest release status of this extension can be seen when downloading it from the CAST Extend server.
Packaging, delivering and analyzing your source code
Once the extension is downloaded and installed, you can nowpackage your source code and run an analysis. The process of packaging, delivering and analyzing your source code is described below:
What results can you expect?
Once the analysis/snapshot generation has completed, you can view the results in the normal manner:
CAST Enlighten
Javascript ECMA6 Classes and Constructors example
CAST Management Studio analysis content
Objects
The following objects are displayed in CAST Enlighten:
Icon | Description |
---|---|
JavaScript file | |
HTML5 Source Code | |
HTML5 Source Code Fragment | |
HTML5 ASP Content | |
HTML5 ASPX Content | |
HTML5 CSHTML Content | |
HTML5 CSS Source Code | |
HTML5 CSS Source Code Fragment | |
HTML5 HTC Content | |
HTML5 JavaScript Source Code | |
HTML5 JSX source code | |
HTML5 JavaScript Source Code Fragment | |
HTML5 JavaScript Function | |
HTML5 Javascript Method | |
HTML5 Javascript Class | |
HTML5 Javascript Class Constructor | |
HTML5 Web Socket Service ASP.NET Any Operation | |
HTML5 Get XMLHttpRequest Service HTML5 Get HttpRequest Service ASP.NET Get Operation HTML5 Razor Get service | |
HTML5 Update XMLHttpRequest Service HTML5 Update HttpRequest Service ASP.NET Put Operation | |
HTML5 Post XMLHttpRequest Service HTML5 Post HttpRequest Service ASP.NET Post Operation HTML5 Razor Post service | |
HTML5 Delete XMLHttpRequest Service HTML5 Delete HttpRequest Service ASP.NET Delete Operation |
Rules
The following rules are shipped with this extension:
Known Limitations
- Creation and detection of object using "prototype" is not supported.
- When HTML5/JavaScript source code is used as the "source" or "destination" in a Reference Pattern (configured in the CAST Management Studio) it will be ignored when the analysis is run - this is due to a limitation in the way the analyzer functions. However, when testing the Reference Pattern using the test option in the CAST Management Studio, the pattern will appear to match.