javascript-obfuscator 5.6.0 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "javascript-obfuscator",
3
- "version": "5.6.0",
3
+ "version": "5.8.0",
4
4
  "description": "JavaScript obfuscator",
5
5
  "keywords": [
6
6
  "obfuscator",
@@ -9,6 +9,7 @@ export declare class JavaScriptObfuscatorCLI implements IInitializable {
9
9
  private inputPath;
10
10
  private sourceCodeFileUtils;
11
11
  private obfuscatedCodeFileUtils;
12
+ private proApiClient?;
12
13
  private readonly arguments;
13
14
  private readonly rawArguments;
14
15
  constructor(argv: string[]);
@@ -20,6 +21,7 @@ export declare class JavaScriptObfuscatorCLI implements IInitializable {
20
21
  private configureHelp;
21
22
  private processSourceCodeData;
22
23
  private processSourceCode;
24
+ private getProApiClient;
23
25
  private processSourceCodeWithProApi;
24
26
  private processSourceCodeWithoutSourceMap;
25
27
  private processSourceCodeWithSourceMap;
@@ -10,6 +10,7 @@ import { ObfuscationTarget } from '../../enums/ObfuscationTarget';
10
10
  import { SourceMapMode } from '../../enums/source-map/SourceMapMode';
11
11
  import { SourceMapSourcesMode } from '../../enums/source-map/SourceMapSourcesMode';
12
12
  export interface IOptions {
13
+ readonly advertisement: boolean;
13
14
  readonly compact: boolean;
14
15
  readonly controlFlowFlattening: boolean;
15
16
  readonly controlFlowFlatteningThreshold: number;
@@ -1,3 +1,4 @@
1
+ import { TInputOptions } from '../../types/options/TInputOptions';
1
2
  import { TIdentifierNamesCache } from '../../types/TIdentifierNamesCache';
2
3
  export interface IProObfuscationResult {
3
4
  getIdentifierNamesCache(): TIdentifierNamesCache;
@@ -10,6 +11,13 @@ export interface IProApiConfig {
10
11
  timeout?: number;
11
12
  version?: string;
12
13
  }
14
+ export interface IProCustomPreset {
15
+ alias: string;
16
+ name: string;
17
+ description: string | null;
18
+ options: TInputOptions;
19
+ updatedAt: string;
20
+ }
13
21
  export type TProApiProgressCallback = (message: string) => void;
14
22
  export interface IProApiStreamMessage {
15
23
  type: 'progress' | 'result' | 'chunk' | 'chunk_end' | 'error';
@@ -21,7 +29,3 @@ export interface IProApiStreamMessage {
21
29
  index?: number;
22
30
  total?: number;
23
31
  }
24
- export interface IProApiBlobUploadResponse {
25
- blobUrl?: string;
26
- error?: string;
27
- }
@@ -15,6 +15,7 @@ import { SourceMapSourcesMode } from '../enums/source-map/SourceMapSourcesMode';
15
15
  export declare class Options implements IOptions {
16
16
  private static readonly optionPresetsMap;
17
17
  private static readonly validatorOptions;
18
+ readonly advertisement: boolean;
18
19
  readonly compact: boolean;
19
20
  readonly controlFlowFlattening: boolean;
20
21
  readonly controlFlowFlatteningThreshold: number;
@@ -67,5 +68,6 @@ export declare class Options implements IOptions {
67
68
  readonly unicodeEscapeSequence: boolean;
68
69
  readonly seed: string | number;
69
70
  constructor(inputOptions: TInputOptions, optionsNormalizer: IOptionsNormalizer);
70
- static getOptionsByPreset(optionsPreset: TOptionsPreset): TInputOptions;
71
+ static getOptionsByPreset(optionsPreset: string): TInputOptions;
72
+ static isLocalPreset(optionsPreset: string | undefined): boolean;
71
73
  }
@@ -1,20 +1,27 @@
1
1
  import { TInputOptions } from '../types/options/TInputOptions';
2
- import { IProApiConfig, IProObfuscationResult, TProApiProgressCallback } from '../interfaces/pro-api/IProApiClient';
2
+ import { IProApiConfig, IProCustomPreset, IProObfuscationResult, TProApiProgressCallback } from '../interfaces/pro-api/IProApiClient';
3
3
  export declare class ProApiClient {
4
4
  private static readonly apiHost;
5
5
  private static readonly apiUrl;
6
6
  private static readonly uploadTokenUrl;
7
+ private static readonly presetsUrl;
8
+ private static readonly builtInPresets;
7
9
  private static readonly defaultTimeout;
8
10
  private static readonly blobUploadThreshold;
9
11
  private static readonly followUpBodyHeadroom;
10
12
  private readonly config;
13
+ private readonly presetRequests;
11
14
  constructor(config: IProApiConfig);
12
15
  static hasProFeatures(options: TInputOptions): boolean;
16
+ static isBuiltInPreset(optionsPreset: string | undefined): boolean;
17
+ fetchPreset(alias: string): Promise<IProCustomPreset | null>;
18
+ resolveOptions(options: TInputOptions): Promise<TInputOptions>;
13
19
  obfuscate(sourceCode: string, options?: TInputOptions, onProgress?: TProApiProgressCallback): Promise<IProObfuscationResult>;
14
20
  private obfuscateDirect;
15
21
  private obfuscateWithBlobUpload;
16
22
  private uploadToBlob;
17
23
  private getUploadToken;
24
+ private requestPreset;
18
25
  private uploadWithClientToken;
19
26
  private handleStreamingResponse;
20
27
  private reassembleChunkedResponse;
@@ -0,0 +1,12 @@
1
+ export declare const ProOptionsPreset: Readonly<{
2
+ Default: 'default';
3
+ LowObfuscation: 'low-obfuscation';
4
+ MediumObfuscation: 'medium-obfuscation';
5
+ HighObfuscation: 'high-obfuscation';
6
+ VMLowObfuscation: 'vm-low-obfuscation';
7
+ VMDefault: 'vm-default';
8
+ VMMediumObfuscation: 'vm-medium-obfuscation';
9
+ VMHighObfuscation: 'vm-high-obfuscation';
10
+ VMUltraHighObfuscation: 'vm-ultra-high-obfuscation';
11
+ VMAntiLLM: 'vm-anti-llm';
12
+ }>;
@@ -1,3 +1,6 @@
1
1
  import { TDictionary } from '../TDictionary';
2
+ import { TInputOptionsPreset } from './TInputOptionsPreset';
2
3
  import { ICLIOptions } from '../../interfaces/options/ICLIOptions';
3
- export type TInputCLIOptions = Partial<Pick<ICLIOptions, keyof ICLIOptions>> & TDictionary;
4
+ export type TInputCLIOptions = Partial<Omit<ICLIOptions, 'optionsPreset'>> & {
5
+ optionsPreset?: TInputOptionsPreset;
6
+ } & TDictionary;
@@ -1,3 +1,6 @@
1
1
  import { TDictionary } from '../TDictionary';
2
+ import { TInputOptionsPreset } from './TInputOptionsPreset';
2
3
  import { IOptions } from '../../interfaces/options/IOptions';
3
- export type TInputOptions = Partial<Pick<IOptions, keyof IOptions>> & TDictionary;
4
+ export type TInputOptions = Partial<Omit<IOptions, 'optionsPreset'>> & {
5
+ optionsPreset?: TInputOptionsPreset;
6
+ } & TDictionary;
@@ -0,0 +1,2 @@
1
+ import { TOptionsPreset } from './TOptionsPreset';
2
+ export type TInputOptionsPreset = TOptionsPreset | (string & {});
@@ -5,7 +5,7 @@ export declare class AdvertisementUtils {
5
5
  private static readonly projectName;
6
6
  private static configPath;
7
7
  static isCI(): boolean;
8
- static shouldShowAdvertisement(): boolean;
8
+ static shouldShowAdvertisement(advertisement: boolean): boolean;
9
9
  private static isNodeEnvironment;
10
10
  private static getConfigPath;
11
11
  private static readConfig;