javascript-obfuscator / javascript-obfuscator/react-native-obfuscating-transformer
Missing "babylon" and other dependencies?
- Linguagem predominante
- TypeScript
- Estrelas
- 211
- Forks
- 102
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
I am using this in a RN 0.61.5 project, and I've installed the project with:
```
npm install react-native-obfuscating-transformer --save-dev
```
When running `npx react-native start`, I get this error:
```
Loading dependency graph...Failed to construct transformer: Error: Cannot find module 'babylon'
Require stack:
-/node_modules/react-native-obfuscating-transformer/dist/getMetroTransformer.js
-/node_modules/react-native-obfuscating-transformer/dist/obfuscatingTransformer.js
-/node_modules/react-native-obfuscating-transformer/dist/index.js
-/transformer.js
-/node_modules/metro/src/JSTransformer/worker.js
-/node_modules/metro/src/DeltaBundler/Transformer/getTransformCacheKey.js
-/node_modules/metro/src/DeltaBundler/Transformer.js
-/node_modules/metro/src/Bundler.js
-/node_modules/metro/src/IncrementalBundler.js
-/node_modules/metro/src/index.js
-/node_modules/react-native/node_modules/@react-native-community/cli/build/tools/loadMetroConfig.js
-/node_modules/react-native/node_modules/@react-native-community/cli/build/commands/server/runServer.js
-/node_modules/react-native/node_modules/@react-native-community/cli/build/commands/server/server.js
-/node_modules/react-native/node_modules/@react-native-community/cli/build/commands/index.js
-/node_modules/react-native/node_modules/@react-native-community/cli/build/index.js
-/node_modules/react-native/cli.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:973:15)
at Function.Module._load (internal/modules/cjs/loader.js:855:27)
at Module.require (internal/modules/cjs/loader.js:1033:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object. (/node_modules/react-native-obfuscating-transformer/dist/getMetroTransformer.js:6:15)
at Module._compile (internal/modules/cjs/loader.js:1144:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1164:10)
at Module.load (internal/modules/cjs/loader.js:993:32)
at Function.Module._load (internal/modules/cjs/loader.js:892:14)
at Module.require (internal/modules/cjs/loader.js:1033:19)
```
After running `npm i babylon --save-dev`, I get:
```
Loading dependency graph...Failed to construct transformer: Error: Cannot find module 'babel-traverse'
Require stack:
- /node_modules/react-native-obfuscating-transformer/dist/getMetroTransformer.js
- /node_modules/react-native-obfuscating-transformer/dist/obfuscatingTransformer.js
- /node_modules/react-native-obfuscating-transformer/dist/index.js
- /transformer.js
- /node_modules/metro/src/JSTransformer/worker.js
- /node_modules/metro/src/DeltaBundler/Transformer/getTransformCacheKey.js
- /node_modules/metro/src/DeltaBundler/Transformer.js
- /node_modules/metro/src/Bundler.js
- /node_modules/metro/src/IncrementalBundler.js
- /node_modules/metro/src/index.js
- /node_modules/react-native/node_modules/@react-native-community/cli/build/tools/loadMetroConfig.js
- /node_modules/react-native/node_modules/@react-native-community/cli/build/commands/server/runServer.js
- /node_modules/react-native/node_modules/@react-native-community/cli/build/commands/server/server.js
- /node_modules/react-native/node_modules/@react-native-community/cli/build/commands/index.js
- /node_modules/react-native/node_modules/@react-native-community/cli/build/index.js
- /node_modules/react-native/cli.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:973:15)
at Function.Module._load (internal/modules/cjs/loader.js:855:27)
at Module.require (internal/modules/cjs/loader.js:1033:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object. (/node_modules/react-native-obfuscating-transformer/dist/getMetroTransformer.js:7:24)
at Module._compile (internal/modules/cjs/loader.js:1144:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1164:10)
at Module.load (internal/modules/cjs/loader.js:993:32)
at Function.Module._load (internal/modules/cjs/loader.js:892:14)
at Module.require (internal/modules/cjs/loader.js:1033:19)
```
My `transformer.js` is:
```js
const obfuscatingTransformer = require("react-native-obfuscating-transformer");
module.exports = obfuscatingTransformer({
/* options */
});
```
And my Metro Config:
```js
module.exports = {
transformer: {
babelTransformerPath: require.resolve("./transformer"),
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
};
```
I see that Babylon is part of the dependencies: https://github.com/javascript-obfuscator/react-native-obfuscating-transformer/blob/master/package.json#L14 – but then again, there seem to be duplicates?
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
Comece comparando as dependências declaradas em package.json com os módulos exigidos por dist/getMetroTransformer.js, usando como contexto a configuração informada do React Native 0.61.5 e do Metro. Reproduza a falha com o ponto de entrada transformer.js mostrado; considera-se concluído quando o transformer é iniciado sem erros de módulos ausentes, como babylon ou babel-traverse.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- react-native, typescript
- Domínio
- build-system, tooling
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 45/100