🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

@russcarver/ngx-source-obfuscation

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@russcarver/ngx-source-obfuscation

Integrates the javascript-obfuscation project into an angular project

18.0.0
latest
Source
npm
Version published
Weekly downloads
218
-25.09%
Maintainers
1
Weekly downloads
 
Created
Source

ngx-source-obfuscation

Angular Builder CLI which integrates the javascript-obfuscation project into angular.

Getting Started

Prerequisites

  • Package manager like yarn or npm
  • Angular 8 or higher.

Installing

Yarn

yarn add -D @russcarver/ngx-source-obfuscation

Npm

npm i -D @russcarver/ngx-source-obfuscation

Version Table

VersionAngular
^1.0.08
^2.0.09
^16.0.016
^17.0.017
^18.0.018

Angular Setup

Create a target in your angular.json file. Like the one shown bellow. Other targets like lint or build are located in the same place.

Important make sure your levels of obfuscation and performance is suitable for your project! The default parameters are most likely not what you want.

Example:

{
  "obfuscate": {
    "builder": "@russcarver/ngx-source-obfuscation:obfuscate",
    "options": {
      "files": [
        {
          "fileExtensions": ["js"],
          "filePatternsToExclude": ["polyfills"],
          "input": "dist",
          "output": "."
        }
      ]
    },
    "configurations": {
      "production": {
        "debugProtection": true,
        "debugProtectionInterval": true,
        "sourceMap": false
      }
    }
  }
}

Files options

  • fileExtensions (required). This is an array of strings representing exact, case-insensitive file extensions of files you want to obfuscate.
  • filePatternsToExclude (optional). This is an array of case-insensitive strings representing strings, that if found anywhere in the filename or extension (or combined aka: a full name.ext), will be excluded from obfuscation.
  • input (required). This is the relative input path in which to search for files. It will search 30 nested directories deep from this path.
  • output (required). This is the relative output path from the input path in which to place the obfuscated results.

If the output path refers to the same directory as the input path, then files are obfuscated in-place (existing files are modified). A Live Demo of the obfuscation library https://obfuscator.io/ is provided by the author of the library. A list of available configuration options can be found here

Running the task

General

The angular cli target can be invoked like every other target <project>:<target>:<configuration>.

Examples
Yarn

"Dev Build"

yarn ng run app:obfuscate

Prod Build

yarn ng run app:obfuscate:production
Npm

"Dev Build"

npx ng run app:obfuscate

Prod Build

npx ng run app:obfuscate:production

Built With

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Nicolas Schäfli - Initial work - d3r1w
  • Russ Carver - Angular 16-19 upgrades - russcarver

Acknowledgments

License

This project is licensed under the GPL-v3 License - see the LICENSE.md file for details

@russcarver/ngx-source-obfuscation Copyright (C) 2023-2024

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

Keywords

angular

FAQs

Package last updated on 02 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts