Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Meta
create-react-app
Commits
ba34b0b7
Commit
ba34b0b7
authored
8 years ago
by
Dan Abramov
Committed by
GitHub
8 years ago
Browse files
Options
Download
Email Patches
Plain Diff
Eject .babelrc instead of separate configs (#705)
Fixes
#410
,
#674
parent
5bf14f3d
No related merge requests found
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
packages/react-scripts/.babelrc
+3
-0
packages/react-scripts/.babelrc
packages/react-scripts/config/babel.dev.js
+0
-27
packages/react-scripts/config/babel.dev.js
packages/react-scripts/config/babel.prod.js
+0
-18
packages/react-scripts/config/babel.prod.js
packages/react-scripts/config/jest/transform.js
+3
-4
packages/react-scripts/config/jest/transform.js
packages/react-scripts/config/webpack.config.dev.js
+14
-1
packages/react-scripts/config/webpack.config.dev.js
packages/react-scripts/config/webpack.config.prod.js
+6
-1
packages/react-scripts/config/webpack.config.prod.js
packages/react-scripts/package.json
+1
-0
packages/react-scripts/package.json
packages/react-scripts/scripts/eject.js
+4
-4
packages/react-scripts/scripts/eject.js
packages/react-scripts/scripts/test.js
+2
-1
packages/react-scripts/scripts/test.js
packages/react-scripts/scripts/utils/createJestConfig.js
+6
-2
packages/react-scripts/scripts/utils/createJestConfig.js
with
39 additions
and
58 deletions
+39
-58
packages/react-scripts/.babelrc
0 → 100644
+
3
-
0
View file @
ba34b0b7
{
"presets": ["react-app"]
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
packages/react-scripts/config/babel.dev.js
deleted
100644 → 0
+
0
-
27
View file @
5bf14f3d
// @remove-on-eject-begin
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
// @remove-on-eject-end
var
findCacheDir
=
require
(
'
find-cache-dir
'
);
module
.
exports
=
{
// Don't try to find .babelrc because we want to force this configuration.
babelrc
:
false
,
// This is a feature of `babel-loader` for webpack (not Babel itself).
// It enables caching results in ./node_modules/.cache/react-scripts/
// directory for faster rebuilds. We use findCacheDir() because of:
// https://github.com/facebookincubator/create-react-app/issues/483
cacheDirectory
:
findCacheDir
({
name
:
'
react-scripts
'
}),
presets
:
[
require
.
resolve
(
'
babel-preset-react-app
'
)
]
};
This diff is collapsed.
Click to expand it.
packages/react-scripts/config/babel.prod.js
deleted
100644 → 0
+
0
-
18
View file @
5bf14f3d
// @remove-on-eject-begin
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
// @remove-on-eject-end
module
.
exports
=
{
// Don't try to find .babelrc because we want to force this configuration.
babelrc
:
false
,
presets
:
[
require
.
resolve
(
'
babel-preset-react-app
'
)
]
};
This diff is collapsed.
Click to expand it.
packages/react-scripts/config/jest/transform.js
+
3
-
4
View file @
ba34b0b7
// @remove-on-eject-begin
/**
* Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
*
...
...
@@ -6,9 +5,9 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
// @remove-on-eject-end
const
babelDev
=
require
(
'
../babel.dev
'
);
const
babelJest
=
require
(
'
babel-jest
'
);
module
.
exports
=
babelJest
.
createTransformer
(
babelDev
);
module
.
exports
=
babelJest
.
createTransformer
({
presets
:
[
require
.
resolve
(
'
babel-preset-react-app
'
)]
});
This diff is collapsed.
Click to expand it.
packages/react-scripts/config/webpack.config.dev.js
+
14
-
1
View file @
ba34b0b7
...
...
@@ -12,6 +12,7 @@
var
path
=
require
(
'
path
'
);
var
autoprefixer
=
require
(
'
autoprefixer
'
);
var
webpack
=
require
(
'
webpack
'
);
var
findCacheDir
=
require
(
'
find-cache-dir
'
);
var
HtmlWebpackPlugin
=
require
(
'
html-webpack-plugin
'
);
var
CaseSensitivePathsPlugin
=
require
(
'
case-sensitive-paths-webpack-plugin
'
);
var
InterpolateHtmlPlugin
=
require
(
'
../scripts/utils/InterpolateHtmlPlugin
'
);
...
...
@@ -118,7 +119,19 @@ module.exports = {
test
:
/
\.(
js|jsx
)
$/
,
include
:
paths
.
appSrc
,
loader
:
'
babel
'
,
query
:
require
(
'
./babel.dev
'
)
query
:
{
// @remove-on-eject-begin
babelrc
:
false
,
presets
:
[
require
.
resolve
(
'
babel-preset-react-app
'
)],
// @remove-on-eject-end
// This is a feature of `babel-loader` for webpack (not Babel itself).
// It enables caching results in ./node_modules/.cache/react-scripts/
// directory for faster rebuilds. We use findCacheDir() because of:
// https://github.com/facebookincubator/create-react-app/issues/483
cacheDirectory
:
findCacheDir
({
name
:
'
react-scripts
'
})
}
},
// "postcss" loader applies autoprefixer to our CSS.
// "css" loader resolves paths in CSS and adds assets as dependencies.
...
...
This diff is collapsed.
Click to expand it.
packages/react-scripts/config/webpack.config.prod.js
+
6
-
1
View file @
ba34b0b7
...
...
@@ -119,7 +119,12 @@ module.exports = {
test
:
/
\.(
js|jsx
)
$/
,
include
:
paths
.
appSrc
,
loader
:
'
babel
'
,
query
:
require
(
'
./babel.prod
'
)
// @remove-on-eject-begin
query
:
{
babelrc
:
false
,
presets
:
[
require
.
resolve
(
'
babel-preset-react-app
'
)],
},
// @remove-on-eject-end
},
// The notation here is somewhat confusing.
// "postcss" loader applies autoprefixer to our CSS.
...
...
This diff is collapsed.
Click to expand it.
packages/react-scripts/package.json
+
1
-
0
View file @
ba34b0b7
...
...
@@ -11,6 +11,7 @@
"url"
:
"https://github.com/facebookincubator/create-react-app/issues"
},
"files"
:
[
".babelrc"
,
".eslintrc"
,
"bin"
,
"config"
,
...
...
This diff is collapsed.
Click to expand it.
packages/react-scripts/scripts/eject.js
+
4
-
4
View file @
ba34b0b7
...
...
@@ -29,9 +29,8 @@ prompt(
var
ownPath
=
path
.
join
(
__dirname
,
'
..
'
);
var
appPath
=
path
.
join
(
ownPath
,
'
..
'
,
'
..
'
);
var
files
=
[
'
.babelrc
'
,
'
.eslintrc
'
,
path
.
join
(
'
config
'
,
'
babel.dev.js
'
),
path
.
join
(
'
config
'
,
'
babel.prod.js
'
),
path
.
join
(
'
config
'
,
'
flow
'
,
'
css.js.flow
'
),
path
.
join
(
'
config
'
,
'
flow
'
,
'
file.js.flow
'
),
path
.
join
(
'
config
'
,
'
paths.js
'
),
...
...
@@ -40,7 +39,6 @@ prompt(
path
.
join
(
'
config
'
,
'
webpack.config.prod.js
'
),
path
.
join
(
'
config
'
,
'
jest
'
,
'
CSSStub.js
'
),
path
.
join
(
'
config
'
,
'
jest
'
,
'
FileStub.js
'
),
path
.
join
(
'
config
'
,
'
jest
'
,
'
transform.js
'
),
path
.
join
(
'
scripts
'
,
'
build.js
'
),
path
.
join
(
'
scripts
'
,
'
start.js
'
),
path
.
join
(
'
scripts
'
,
'
utils
'
,
'
checkRequiredFiles.js
'
),
...
...
@@ -109,7 +107,9 @@ prompt(
// Add Jest config
appPackage
.
jest
=
createJestConfig
(
filePath
=>
path
.
join
(
'
<rootDir>
'
,
filePath
)
filePath
=>
path
.
join
(
'
<rootDir>
'
,
filePath
),
null
,
true
);
console
.
log
(
'
Writing package.json
'
);
...
...
This diff is collapsed.
Click to expand it.
packages/react-scripts/scripts/test.js
+
2
-
1
View file @
ba34b0b7
...
...
@@ -24,7 +24,8 @@ if (!process.env.CI) {
argv
.
push
(
'
--config
'
,
JSON
.
stringify
(
createJestConfig
(
relativePath
=>
path
.
resolve
(
__dirname
,
'
..
'
,
relativePath
),
path
.
resolve
(
paths
.
appSrc
,
'
..
'
)
path
.
resolve
(
paths
.
appSrc
,
'
..
'
),
false
)));
jest
.
run
(
argv
);
This diff is collapsed.
Click to expand it.
packages/react-scripts/scripts/utils/createJestConfig.js
+
6
-
2
View file @
ba34b0b7
...
...
@@ -12,7 +12,7 @@
const
pathExists
=
require
(
'
path-exists
'
);
const
paths
=
require
(
'
../../config/paths
'
);
module
.
exports
=
(
resolve
,
rootDir
)
=>
{
module
.
exports
=
(
resolve
,
rootDir
,
isEjecting
)
=>
{
const
setupFiles
=
[
resolve
(
'
config/polyfills.js
'
)];
if
(
pathExists
.
sync
(
paths
.
testsSetup
))
{
// Use this instead of `paths.testsSetup` to avoid putting
...
...
@@ -26,7 +26,6 @@ module.exports = (resolve, rootDir) => {
'
^.+
\\
.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$
'
:
resolve
(
'
config/jest/FileStub.js
'
),
'
^.+
\\
.css$
'
:
resolve
(
'
config/jest/CSSStub.js
'
)
},
scriptPreprocessor
:
resolve
(
'
config/jest/transform.js
'
),
setupFiles
:
setupFiles
,
testPathIgnorePatterns
:
[
'
<rootDir>/(build|docs|node_modules)/
'
],
testEnvironment
:
'
node
'
,
...
...
@@ -35,5 +34,10 @@ module.exports = (resolve, rootDir) => {
if
(
rootDir
)
{
config
.
rootDir
=
rootDir
;
}
if
(
!
isEjecting
)
{
// This is unnecessary after ejecting because Jest
// will just use .babelrc in the project folder.
config
.
scriptPreprocessor
=
resolve
(
'
config/jest/transform.js
'
);
}
return
config
;
};
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Snippets