Skip to content

Commit e1b9f07

Browse files
committed
Removed file references.
1 parent 2dd0cdd commit e1b9f07

File tree

1 file changed

+16
-58
lines changed

1 file changed

+16
-58
lines changed

src/browser/chrome/parser.js

Lines changed: 16 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,8 @@
22
const esprima = require('esprima');
33
const estraverse = require('estraverse');
44
const escodegen = require('escodegen');
5-
const path = require('path');
65
const _ = require('lodash');
7-
const fs = require('fs');
8-
const fetch = require('isomorphic-fetch');
96

10-
11-
// react files
12-
const useReducerfile = '/node_modules/react/cjs/react.development.js';
13-
const commitAllHostEffectsfile = '/node_modules/react-dom/cjs/react-dom.development.js';
14-
15-
// generated file names
16-
const genReactDev = 'generatedReact.development.js';
17-
const genReactDom = 'generatedReact-dom.development.js';
18-
19-
// convert file to string and parse
20-
function parseFile(file) {
21-
const dir = path.join(__dirname, file);
22-
const fileString = fs.readFile(dir, { encoding: 'utf-8' });
23-
const ast = esprima.parseModule(fileString);
24-
return ast;
25-
}
267
// declare functions to insert
278
// TODO: Un-comment timeTravelTracker
289
function useReducerReplacement() {
@@ -141,57 +122,34 @@ function commitAllHostEffectsReplacement() {
141122

142123
// traverse ast to find method and replace body with our node's body
143124
function traverseTree(replacementNode, functionName, ast) {
144-
// let completed = false;
145125
estraverse.replace(ast, {
146126
enter(node) {
147127
if (node.type === 'FunctionDeclaration') {
148128
if (node.id.name === functionName) {
149-
console.log('found', functionName);
150129
node.body = replacementNode.body[0].body;
151-
// completed = true;
152130
}
153131
}
154132
},
155133
});
156-
// return completed;
157-
}
158-
159-
function generateFile(filename, ast) {
160-
const code = escodegen.generate(ast);
161-
fs.writeFileSync(filename, code, (err) => {
162-
if (err) throw new Error(err.message);
163-
});
164134
}
165135

166-
const parseAndGenerate = () => {
167-
// first file
168-
// let ast = parseFile(useReducerfile);
169-
fetch('https://unpkg.com/react-dom@16/umd/react-dom.development.js')
170-
.then(r => r.text())
171-
.then((codeString) => {
172-
console.log(codeString);
173-
if (codeString.search('react')) {
174-
console.log('react result', codeString.search('react'));
175-
const ast = esprima.parseModule(codeString);
176-
if (codeString.search('react-dom')) {
177-
console.log('react-DOM result', codeString.search('react-dom'));
178-
const injectableCommitAllHostEffects = esprima.parseScript(commitAllHostEffectsReplacement.toString());
179-
traverseTree(injectableCommitAllHostEffects, 'commitAllHostEffects', ast);
180-
} else {
181-
const injectableUseReducer = esprima.parseScript(useReducerReplacement.toString());
182-
traverseTree(injectableUseReducer, 'useReducer', ast);
183-
}
184-
const code = escodegen.generate(ast);
185-
// console.log(code);
186-
// return code;
187-
fs.writeFileSync('dom.js', code, (err) => {
188-
if (err) throw new Error(err.message);
189-
});
190-
}
191-
return -1;
192-
});
136+
const parseAndGenerate = (codeString) => {
137+
if (codeString.search('react')) {
138+
const ast = esprima.parseModule(codeString);
139+
// parse react-dom code
140+
if (codeString.search('react-dom')) {
141+
const injectableCommitAllHostEffects = esprima.parseScript(commitAllHostEffectsReplacement.toString());
142+
traverseTree(injectableCommitAllHostEffects, 'commitAllHostEffects', ast);
143+
} else {
144+
// parse react code
145+
const injectableUseReducer = esprima.parseScript(useReducerReplacement.toString());
146+
traverseTree(injectableUseReducer, 'useReducer', ast);
147+
}
148+
const code = escodegen.generate(ast);
149+
return code;
150+
}
151+
return -1;
193152
};
194-
parseAndGenerate();
195153

196154
// }
197155
module.exports = parseAndGenerate;

0 commit comments

Comments
 (0)