Skip to content

Commit

Permalink
dependency lift + appropriate code changes and adjusted README since …
Browse files Browse the repository at this point in the history
…stringArrayEncoding is expected to be a string array
  • Loading branch information
mppperez committed Mar 30, 2021
1 parent 70395d5 commit 10fe3ec
Show file tree
Hide file tree
Showing 6 changed files with 4,110 additions and 1,182 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ interface ObfuscatorOptions {
sourceMapFileName?: string
sourceMapMode?: "separate" | "inline"
stringArray?: boolean
stringArrayEncoding?: boolean
stringArrayEncoding?: string[]
stringArrayThreshold?: 0.75
target?: "browser" | "extension" | "node"
unicodeEscapeSequence?: boolean
Expand Down
28 changes: 13 additions & 15 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,15 @@
"license": "MIT",
"dependencies": {
"@types/app-root-path": "^1.2.4",
"@types/babel-core": "^6.25.3",
"@types/babel-generator": "^6.25.1",
"babel-traverse": "^6.26.0",
"babylon": "^6.18.0",
"@types/node": "^9.3.0",
"@types/semver": "^5.4.0",
"@types/babel__core": "^7.1.14",
"@types/babel__generator": "^7.6.2",
"@types/node": "^14.14.37",
"@types/semver": "^7.3.4",
"app-root-path": "^2.0.1",
"babel-generator": "^6.26.1",
"babel-traverse": "^6.26.0",
"babylon": "^6.18.0",
"javascript-obfuscator": "^2.6.0",
"@babel/generator": "^7.13.9",
"@babel/traverse": "^7.13.13",
"@babel/parser": "^7.13.13",
"javascript-obfuscator": "^2.11.0",
"jju": "^1.3.0",
"semver": "^5.4.1",
"source-map": "^0.6.1"
Expand All @@ -39,18 +37,18 @@
},
"devDependencies": {
"@types/jest": "^22.0.1",
"babel-preset-react-native": "^1.9.1",
"babel-preset-react-native": "^4.0.1",
"husky": "^0.13.3",
"jest": "^22.0.6",
"jest": "^26.0.22",
"lint-staged": "^3.4.1",
"metro": "^0.45.6",
"metro": "^0.65.2",
"metro-bundler": "^0.22.1",
"np": "^4.0.2",
"prettier": "^1.10.2",
"react-native": "^0.57.1",
"react-native": "^0.64.0",
"ts-jest": "^22.0.1",
"ts-node": "^4.1.0",
"typescript": "^2.6.2"
"typescript": "^4.0.7"
},
"jest": {
"transform": {
Expand Down
31 changes: 28 additions & 3 deletions src/getMetroTransformer.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { Node } from "babel-core"
import { Node } from "@babel/core"
import { RawSourceMap, SourceMapConsumer } from "source-map"
import * as semver from "semver"
import {
MetroRawSourceMap,
convertStandardSourceMapToMetroRawSourceMap,
} from "./composeSourceMaps"
import * as babylon from "babylon"
import traverse from "babel-traverse"
import * as babylon from "@babel/parser"
import traverse from "@babel/traverse"
import generate from "@babel/generator";

export interface MetroTransformerResult {
ast?: Node
Expand Down Expand Up @@ -100,3 +101,27 @@ export function maybeTransformMetroResult(
return { code, map }
}
}

export function generateAndConvert(ast: Node, filename: string): MetroTransformerResult {
let generatorResult = generate(ast, {
filename: filename,
retainLines: true,
sourceMaps: true,
sourceFileName: filename,
});

if (!generatorResult.map) {
return {code: generatorResult.code};
}

const map = {
version: generatorResult.map.version + "",
mappings: generatorResult.map.mappings,
names: generatorResult.map.names,
sources: generatorResult.map.sources,
sourcesContent: generatorResult.map.sourcesContent,
file: generatorResult.map.file
}

return {code: generatorResult.code, map: map};
}
10 changes: 2 additions & 8 deletions src/obfuscatingTransformer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ import * as path from "path"
import * as JavaScriptObfuscator from "javascript-obfuscator"
import { path as appRootPath } from "app-root-path"

import generate from "babel-generator"

import { getCallerFile } from "./getCallerFile"
import {
MetroTransformer,
generateAndConvert,
getMetroTransformer,
MetroTransformerResult,
maybeTransformMetroResult,
Expand Down Expand Up @@ -71,12 +70,7 @@ export function obfuscatingTransformer({
const { code, map }: MetroTransformerResult = result.code
? result
: result.ast
? (generate(result.ast, {
filename: props.filename,
retainLines: true,
sourceMaps: true,
sourceFileName: props.filename,
}) as MetroTransformerResult)
? generateAndConvert(result.ast, props.filename)
: { code: "", map: "" }

if (!code) {
Expand Down
2 changes: 1 addition & 1 deletion typings/javascript-obfuscator.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ declare module "javascript-obfuscator" {
sourceMapFileName?: string
sourceMapMode?: "separate" | "inline"
stringArray?: boolean
stringArrayEncoding?: boolean
stringArrayEncoding?: string[]
stringArrayThreshold?: 0.75
target?: "browser" | "extension" | "node"
unicodeEscapeSequence?: boolean
Expand Down
Loading

0 comments on commit 10fe3ec

Please sign in to comment.