Skip to content

Commit 48129ea

Browse files
committed
feat: expose the babel preset at react-native-builder-bob/babel-preset
1 parent 6422571 commit 48129ea

File tree

3 files changed

+38
-29
lines changed

3 files changed

+38
-29
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/* eslint-disable import/no-commonjs */
2+
3+
const browserslist = require('browserslist');
4+
5+
module.exports = function (api, options, cwd) {
6+
return {
7+
presets: [
8+
[
9+
require.resolve('@babel/preset-env'),
10+
{
11+
targets: browserslist.findConfig(cwd) || {
12+
browsers: [
13+
'>1%',
14+
'last 2 chrome versions',
15+
'last 2 edge versions',
16+
'last 2 firefox versions',
17+
'last 2 safari versions',
18+
'not dead',
19+
'not ie <= 11',
20+
'not op_mini all',
21+
'not android <= 4.4',
22+
'not samsung <= 4',
23+
],
24+
node: '18',
25+
},
26+
useBuiltIns: false,
27+
modules: options.modules || false,
28+
},
29+
],
30+
require.resolve('@babel/preset-react'),
31+
require.resolve('@babel/preset-typescript'),
32+
require.resolve('@babel/preset-flow'),
33+
],
34+
};
35+
};

packages/react-native-builder-bob/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
},
2424
"files": [
2525
"bin",
26-
"lib"
26+
"lib",
27+
"babel-preset.js"
2728
],
2829
"engines": {
2930
"node": ">= 18.0.0"

packages/react-native-builder-bob/src/utils/compile.ts

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import path from 'path';
22
import fs from 'fs-extra';
33
import kleur from 'kleur';
44
import * as babel from '@babel/core';
5-
import browserslist from 'browserslist';
65
import glob from 'glob';
76
import type { Input } from '../types';
87

@@ -92,33 +91,7 @@ export default async function compile({
9291
...(babelrc || configFile
9392
? null
9493
: {
95-
presets: [
96-
[
97-
require.resolve('@babel/preset-env'),
98-
{
99-
targets: browserslist.findConfig(root) ?? {
100-
browsers: [
101-
'>1%',
102-
'last 2 chrome versions',
103-
'last 2 edge versions',
104-
'last 2 firefox versions',
105-
'last 2 safari versions',
106-
'not dead',
107-
'not ie <= 11',
108-
'not op_mini all',
109-
'not android <= 4.4',
110-
'not samsung <= 4',
111-
],
112-
node: '18',
113-
},
114-
useBuiltIns: false,
115-
modules,
116-
},
117-
],
118-
require.resolve('@babel/preset-react'),
119-
require.resolve('@babel/preset-typescript'),
120-
require.resolve('@babel/preset-flow'),
121-
],
94+
presets: [[require.resolve('../../babel-preset'), { modules }]],
12295
}),
12396
});
12497

0 commit comments

Comments
 (0)