App Classification

As soon as you upload your application, Jscrambler analyzes it by extracting as much metadata as needed from your application. This helps Jscrambler understand your application better, namely knowing what your application is, which are its most prevalent 3rd-party dependencies, which are the environments where it will run, etc.

This information will be valuable both in protection time - where Jscrambler will be able to make decisions based on information specific to your application for a better and more robust protection - as well as in configuration time - where this critical information might help your development team to have a better understanding of your application's structure and behavior.

App Classification

Next, you may find more information about the metadata we collect and how it can be useful.

Type

This section gives you an overview of the distribution of the files in your application that are built for a specific runtime environment (e.g., Browser, Node.js, Isomorphic).

Package

The Package section gives you various metadata relevant to your application, such as:

  • application name
  • application description
  • application entry point file path, namely main
  • application binary command file path, namely bin
  • distribution of dependencies (runtime, development, peer)

This information is extracted from a package.json file, therefore you should upload it to the root or first level folder of your application.

Browser Compatibility

The Browser Compatibility section gives you information about which browser versions your application will support after being protected.

If the minimum compatible version for the source code of your application, for any browser, increases because of the protection, it will be highlighted for your consideration. This may only be a problem for applications that are designed to be compatible with the most legacy Browsers - otherwise, it can be interpreted just as a guarantee that the protected application will work with the highlighted version onwards.

Only the browser and isomorphic files are considered here since the node.js files won't be able to run in any browser. If your application consists of node.js files only, this section will not be displayed.

If you wish to ensure that your application is compliant with specific browser versions, check Browser Compatibility for more information.

Frameworks

This section gives you information about the number of files in your application that are using a given framework. Some of the frameworks that are being detected are React.js, Angular, AngularJS, NativeScript and more.

ECMAScript Specifications

In this section, you can check the Latest ECMA Version that your application is using. You can also check the percentage of files that are using features of each ECMAScript version.

If you check that only a small percentage of your files are taking advantage of more recent ECMAScript features, you may consider replacing these features with older ones for better Browser compatibility.

ECMAScript Specifications

File Information

You can also check the above information detailed for each file. To do so, open the desired file and the information will be displayed in the left side panel.

File Information

Disabling App Classification

This feature is enabled by default but, if for any reason you want to disable it, you can do it either on the Jscrambler Web App or Jscrambler CLI

Web App

In the Web App, you just have to toggle the App Classification button to enable/disable classification.

App Classification Toggle

Jscrambler Clients

If you are using any of our Jscrambler Clients, you can add the useAppClassification property to your Jscrambler configuration.

{
  "useAppClassification": false
}