Skip to content

Commit 3fca7f4

Browse files
cpojerfacebook-github-bot-3
authored andcommitted
inline requires + preprocessor updates
Reviewed By: @DmitrySoshnikov Differential Revision: D2455903
1 parent f802998 commit 3fca7f4

4 files changed

Lines changed: 329 additions & 15 deletions

File tree

jestSupport/preprocessor.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,18 @@
88
*/
99
'use strict';
1010

11-
var transformer = require('../packager/transformer.js');
11+
const createCacheKeyFunction = require('fbjs-scripts/jest/createCacheKeyFunction');
12+
const path = require('path');
13+
const transformer = require('../packager/transformer.js');
1214

1315
module.exports = {
1416
process(src, file) {
1517
return transformer.transform(src, file).code;
16-
}
18+
},
19+
20+
getCacheKey: createCacheKeyFunction([
21+
__filename,
22+
path.join(__dirname, '../packager/transformer.js'),
23+
path.join(__dirname, '../node_modules/babel-core/package.json'),
24+
]),
1725
};

npm-shrinkwrap.json

Lines changed: 302 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"chalk": "^1.1.1",
5454
"connect": "^2.8.3",
5555
"debug": "^2.2.0",
56+
"fbjs-scripts": "^0.2.1",
5657
"graceful-fs": "^4.1.2",
5758
"image-size": "^0.3.5",
5859
"immutable": "^3.7.5",

packager/transformer.js

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,26 @@
1010
*/
1111
'use strict';
1212

13-
var babel = require('babel-core');
13+
const babel = require('babel-core');
14+
const inlineRequires = require('fbjs-scripts/babel/inline-requires');
1415

15-
function transform(srcTxt, filename, options) {
16-
var plugins = [];
16+
function transform(src, filename, options) {
17+
const plugins = [];
1718

1819
if (process.env.NODE_ENV === 'production') {
19-
plugins = plugins.concat(['node-env-inline', 'dunderscore-dev-inline']);
20+
plugins.push('node-env-inline', 'dunderscore-dev-inline');
21+
} else if (process.env.NODE_ENV === 'test') {
22+
plugins.push({
23+
position: 'after',
24+
transformer: inlineRequires,
25+
});
2026
}
2127

22-
var result = babel.transform(srcTxt, {
28+
const result = babel.transform(src, {
2329
retainLines: true,
2430
compact: true,
2531
comments: false,
26-
filename: filename,
32+
filename,
2733
whitelist: [
2834
'es6.arrowFunctions',
2935
'es6.blockScoping',
@@ -42,24 +48,21 @@ function transform(srcTxt, filename, options) {
4248
'react.displayName',
4349
'regenerator',
4450
],
45-
plugins: plugins,
51+
plugins,
4652
sourceFileName: filename,
4753
sourceMaps: false,
4854
extra: options || {},
4955
});
5056

5157
return {
52-
code: result.code,
58+
code: result.code
5359
};
5460
}
5561

5662
module.exports = function(data, callback) {
57-
var result;
63+
let result;
5864
try {
59-
result = transform(
60-
data.sourceCode,
61-
data.filename
62-
);
65+
result = transform(data.sourceCode, data.filename);
6366
} catch (e) {
6467
callback(e);
6568
return;

0 commit comments

Comments
 (0)